aps.net--自动图片移动模块( JQuery animate)

.aspx代码如下:

<%@ Page Title="" Language="C#" MasterPageFile="~/SAMPLE_CODE/AMST_SAMPLE.master" AutoEventWireup="true" CodeFile="S2_JAnimate_ImgMove.aspx.cs" Inherits="SAMPLE_CODE_S2_JAnimate_ImgMove" %>

<asp:Content ID="Content1" ContentPlaceHolderID="CPH_HEAD" Runat="Server">

<script src="../Jscript/jquery-1.8.3.js" type="text/javascript"></script>

<script type ="text/javascript">

//也可以设定一个定时器,定时移动图片

var t;

$(document).ready(function () {

//页面载入,启动计时器

t = setInterval("$(‘#btn_r‘).click()", 3000);

//鼠标移入层,出现切换的按钮

$("#div_holder").mouseenter(function () {

$("#div_btns").fadeIn();

clearInterval(t);

});

$("#div_holder").mouseleave(function () {

$("#div_btns").fadeOut();

t = setInterval("$(‘#btn_r‘).click()", 3000);

});

//计算都是基于大图尺寸而定的.

//点击按钮,移动内层

$("#btn_l").click(function () {

img_now = (img_now + img_count - 1) % img_count;//img_count由后台代码计算得出, img_now数值是0-img_count-1。

doAnimate(img_now);

});

$("#btn_r").click(function () {

img_now = (img_now + 1) % img_count;

doAnimate(img_now);

});

});

//参数表示移动到第几章图片(0-6)

function doAnimate(_now) {

var lpx = -(_now * img_width) + "px";

$("#pnl_imgs").animate({ "opacity": 0.4 }, 400).animate({ "left": lpx }, 500).animate({ "opacity": 1 }, 400);

}

</script>

<%--

根据图片高度和宽度的不同,计算和设定模块的CSS,

也可以通过JS代码 或 LESS(CSS的扩展,在CSS代码中引入JS进行计算)来设定相应控件的高度

--%>

<style type ="text/css">

#div_holder {width:640px; height:360px;  margin:0px auto; overflow:hidden; border:1px solid silver; }

#div_imgOuter {  height:360px; /*高度必须设定,撑大外框层,确保左右按钮位置不变*/

background-image:url(../imgs/loading.gif); background-position:center; background-repeat:no-repeat;

background-size:100% 100%;

position:relative;  }

#div_btns { width:630px; margin:0px auto; display:none;

position:relative;

height:30px;

top:-195px;  /*计算而得到的值 360/2+30/2  */  }

#pnl_imgs { position:relative;}

#btn_l,#btn_r

{ width:30px; height:30px; border:1px solid #777777;

border-radius:4px;

cursor:pointer;

background-image:url(../imgs/back_btn_1.jpg);

opacity:0.6;  }

#btn_l:hover, #btn_r:hover

{ opacity:0.9;}

#btn_r { background-position:-30px 0px;}

</style>

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="CPH_MEMO" Runat="Server">

<h3>实现图片的切换,有2种方法</h3>

<ul>

<li>页面载入时,所有图片都载入到页面中,通过位移动画来切换</li>

<li>通过更改大图的SRC地址,AJAX载入来切换</li>

<li>重点关注模块内元素的布局</li>

</ul>

</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="CPH_MAIN" Runat="Server">

<div id="div_holder"><%--整个模块的外框--%>

<div id="div_imgOuter" runat="server" clientidmode="Static"><%--装载大图的外框,其内层移动--%>

<asp:Panel ID="pnl_imgs" runat="server" ClientIDMode="Static"> <%--装载大图内层--%>  </asp:Panel>

</div>

<div id="div_btns"><%--切换按钮的层--%>

<b id="btn_l" class="fl"></b>            <b id="btn_r" class="fr"></b>

</div>

</div>

<div class ="clr"></div>

</asp:Content>

.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;

public partial class SAMPLE_CODE_S2_JAnimate_ImgMove : System.Web.UI.Page
{
    string str_cnn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=";
    string str_sourcefile = "~/App_Data/DATA.mdb";
    OleDbConnection cnn;
    OleDbCommand cmd;
    OleDbDataReader datar;
    string str_sql;

    public int img_width = 640;     //这里设定图片的指定宽度;其他数值,均由此宽度决定

    protected void Page_Load(object sender, EventArgs e)
    {
        //loadimgs,页面载入,装载图片到层内
        loadimgs();
    }

    protected void loadimgs() {
        string str_conn = str_cnn + MapPath(str_sourcefile);
        cnn = new OleDbConnection(str_conn);
        cnn.Open();

        str_sql = "select * from t_imgs";

        cmd = new OleDbCommand(str_sql, cnn);
        datar = cmd.ExecuteReader();

        Image _img;
        int imgcount = 0;
        while (datar.Read())
        {
            _img = new Image();
            _img.ImageUrl=datar["img_url"].ToString();
            pnl_imgs.Controls.Add(_img);
            imgcount++;
        }

        //对于固定大小的大图,计算出内层的大小
        pnl_imgs.Style.Add("width", img_width * imgcount + "px");
        //txt_imgs.Text = imgcount.ToString();
        //txt_imgwidth.Text = img_width.ToString();

        string js = "var img_count="+imgcount.ToString() + ";"  +
              "var img_width =" + img_width.ToString() + ";" +
              "var img_now = 0;";

        ScriptManager.RegisterStartupScript(this, this.GetType(), "", js, true);

        cnn.Close();
    }
}

效果图如下:

时间: 2024-12-08 22:24:51

aps.net--自动图片移动模块( JQuery animate)的相关文章

javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)

类似于幻灯片的切换效果,有时需要在网页中完成一些图片的自动切换效果,比如广告,宣传,产品介绍之类的,那么单纯的切就没意思了,需要在切换的时候通过一些效果使得切换生动些. 比较常用之一的就是窗帘切换了. 先贴上完成的效果. 实现原理不复杂,在动的一条一条的称之为“窗帘条”或者是“strip”,每一个strip都是一个div,类似于雪碧图的方式将其背景图的位置设置为strip的可视位置,然后用jquery的animate让他们按照一定规律动起来就完成窗帘切换效果了. 为了使用方便,将这个功能作为jq

图片滚动 初学JQuery

图片滑动效果一般用于首页的展示,这个按照别人的思路,自己扩充修改了下,纯属自己笔记. JS代码 1 <script src="jquery/jquery-2.1.1.js"></script> 2 <script> 3 var imgTotal = 8; //总的图片数量 4 var imgi = 1; //默认第一张图片 5 var autoRun; //自动滚动 6 function run(imgI) { //传递图片编号 7 imgi = i

实现自动图片轮播

效果<!DOCTYPE html> <html> <head> <title>图片轮播,新闻轮播,焦点新闻轮播</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <script type="text/javascript" src="http://ajax.g

jquery animate()背景色渐变的处理

jquery animate函数不能处理背景色渐变,需要使用jquery.color插件 gitHub地址:https://github.com/jquery/jquery-color/ 使用代码: $(function(){ $("#cdiv").animate( { backgroundColor:'#FF0000' },1000 ) }) 演示: http://runjs.cn/detail/xmax7vo3 jquery animate()背景色渐变的处理,布布扣,bubuko

动态等比例调整图片大小的jQuery代码

动态等比例调整图片大小的jQuery代码:有时候图片的大小和尺寸是位置,如果上传后,任由其自然伸展,很有可能导致网页变形,所以要认为的控制图片的尺寸,当然也不能够太粗暴,直接定死图片的尺寸,这样可能会导致图片变形,所以要进行等比例缩放,下面就是一段能够实现此功能的代码.代码如下: <script type="text/javascript"> jQuery(window).load(function(){ jQuery("div.product_info img&

javascript设计模式实践之职责链--具有百叶窗切换图片效果的JQuery插件(三)

在上一篇<javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)>里,通过采用模板方法模式完成了切换效果对象的构建编写. 接下来就是完成各效果对象的调用和联动. 切换要求:当前图片显示指定时间后执行切换效果并切换下一张图片,最后一个切换后从头开始. 按照要求一个效果对象完成后要执行下一个,最后一个完成后要从头开始, 看上去就是一个带状态通知的环形列表,类似于这样的特征,可以采用职责链模式来构建. 职责链就是由不同的功能处理构成的链表,每一个功能处理作为一个

jQuery animate()动画效果

1.jQuery动画效果 jQuery animate()方法用于创建自定义动画 $(selector).animate({params},speed,callback); //必需的 params 参数定义形成动画的 CSS 属性: //可选的 speed 参数规定效果的时长,它可以取以下值:"slow"."fast" 或毫秒: //可选的 callback 参数是动画完成后所执行的函数名称: 下面为几个实例: $("button").clic

图片延迟插件 Jquery.lazyload.min.js

当一个页面打开的图片太多,我们可以用jquery的一个延迟加载插件.名为:jquery.lazyload.min.js 使用非常简单,下面我就把示例代码帖出来. 1 <div style="height:700px;"> 2 <img src="img/grey.gif" data-original="http://www.ziyou.com.cn/ziyou/uploadImg/bberfq.jpg" width="

如何更改/删除magento首页产品/广告图片等模块信息

如何更改/删除magento首页产品/广告图片等模块信息,如果只是修改一些简单的地方,例如已经存在 的左右栏目里面的图片内容等,是很简单的,直接在后台就可以修改的,具体如下: 如何删除magento首页不需要的信息. 首先登陆后台.CMS=>Manage Pages=>选择edite page=>Home page=>选择custom design. 然后选择相应的模板,选择相应的列数, 编辑里面的内容. <reference name=”content”> <b