首页 > 其他分享 >aps.net--自动图片移动模块( JQuery animate)

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

时间:2022-11-11 11:35:38浏览次数:59  
标签:JQuery btn img -- aps System width str now


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

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

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

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

.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();
}
}


效果图如下:

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

标签:JQuery,btn,img,--,aps,System,width,str,now
From: https://blog.51cto.com/u_15866446/5843752

相关文章

  • Java实现算法之--选择排序
        选择排序也是比较简单的一种排序方法,原理也比较容易理解,它与冒泡排序的比较次数相同,但选择排序的交换次数少于冒泡排序。冒泡排序是在每次比较之后,若比较的两个......
  • 20个高级Java面试题汇总
    什么是可变参数?断言的用途?什么时候使用断言?什么是垃圾回收?用一个例子解释垃圾回收?什么时候运行垃圾回收?垃圾回收的最佳做法?什么是初始化数据块?什么是静态初始化器?什么是实例......
  • 页面中插入百度地图(利用百度地图API)
    .aspx代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="插入地图.aspx.cs"Inherits="插入地图"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Trans......
  • Session和Application实现网络在线聊天室实例
    login.aspx代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Sample_chat_login.aspx.cs"Inherits="Sample_chart_login"%><!DOCTYPEhtmlPUBLIC"-//......
  • Git使用介绍
    Windows上安装使用Git首先下载Git,下载地址为:​​http://msysgit.github.io/​​ 如下图:点击download,下载后安装即可。运行gitbash如下图:接下来配置一下身份:下面创建一个代......
  • intent跳转时添加动画效果实例
    系统默认的intent跳转效果非常生硬,丑陋,影响用户体验,怎么添加跳转动画呢?首先新建两个动画文件:zoomin.xml:<?xmlversion="1.0"encoding="utf-8"?><setxmlns:android="htt......
  • Java集合Map接口与Map.Entry学习
    Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/valuepairs)。该接口描述了从不重复的键到值的映射。(1)添加、删除操作:Objectput(Objectkey......
  • HP-ERS-T200, 冷库制冷设备远程监控物联网解决方案,华普物联,化繁为简 助推物联,HPIOT
    冷库应用现状分析冷库是发展冷链行业的主要基础设施,也是低温条件下储藏货物的建筑群。冷库广泛应用于农产品、医药、化工、冷冻食品、花卉等领域。随着人民生活水平逐渐提......
  • 事件溯源
    PS:原创文章,如需转载,请注明出处,谢谢!   ​ 前几天团队内做了DDD如何有效指导拆分微服务的分享,中间关于微服务集成提到了“事件溯源”,今天就此做下整理。 1、关于事件......
  • 1. linux常用命令
    1.远程连接[email protected]#指定端口号用户名和IP默认端口56:ssh3306:mysql80:http443:https6379:redis 2.查看网卡信息ifconfig......