当前位置: 首页 > news >正文

JavaScript控制图片横向滚动代码

代码简介:

一个JavaScript图片滚动效果,与其它不同的区别是,它是可以被控制的,向左向右滚动都需要点击两端的小箭头,图片滚动时候带有缓冲效果,演示图片没有加链接,你决定用了就好好完善它,现在只是一个基础的框架,也没有怎么美化,请注意,JavaScript代码一定要放在调用图片的代码之后,否则会失效。

代码内容:

ExpandedBlockStart.gif View Code
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > JavaScript控制图片横向滚动代码 - www.webdm.cn </ title >
< style >
ul
{ margin : 0 ; padding : 0 ; list-style : none ; width : 100000px }
li
{ margin : 0 ; padding : 0 ; width : 100px ; height : 90px ; display : block ; float : left ; margin-right : 5px ; background : #009900 }
#img_bag
{ width : 640px ; height : 90px ; background : #FF9900 ; margin : 0 auto ; font-size : 9pt ; }
#img_bag a
{ float : left ; width : 20px ; display : block ; height : 20px ; font-weight : bold ; }
#img_bag #img
{ width : 600px ; height : 90px ; background : #ccc ; overflow : hidden ; float : left ; border : 0px ; }
#scrollBar
{ width : 600px ; height : 20px ; background : #FF0000 ; margin : 0 auto ; position : relative }
#scroll
{ width : 30px ; height : 20px ; background : #000000 ; cursor : pointer ; position : absolute ; }
</ style >
</ head >
< body >
< div  id ="img_bag" >
< href ="javascript:void(0)"  onmousedown ="moveLeft()" >< <</a >
< div  id ="img" >
< ul >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall7_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall2_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall3_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall1_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall4_s.jpg" ></ li >
< li >< img  src ="http://www.webdm.cn/images/wall5_s.jpg" ></ li >
</ ul >
</ div >
< href ="javascript:void(0)"  onmousedown ="moveRight()" > >> </ a >
</ div >
< div  style ="clear:both;" ></ div >
< div  id ="scrollBar" >< div  id ="scroll"  style ="left:0" ></ div ></ div >
< script >
function  $(obj){ return  document.getElementById(obj)}
var  maxWidth = $( " img " ).getElementsByTagName( " ul " )[ 0 ].getElementsByTagName( " li " ).length * 105 ;
var  isScroll = false ;
var  modiLeft;
$(
" scroll " ).onmousedown = function (evt){
isScroll
= true ;
evt
= (evt) ? evt:((window.event) ? window.event: null );
if (evt.offsetX){
modiLeft
= parseInt(evt.offsetX)
}
else {modiLeft = parseInt(evt.layerX)}
}
document.onmouseup
= function (){
isScroll
= false ;
}
document.onmousemove
= function (evt){
evt
= (evt) ? evt:((window.event) ? window.event: null );
if (evt && isScroll){
$(
" scroll " ).style.left = parseInt(evt.clientX) - parseInt($( " scrollBar " ).offsetLeft) - modiLeft + " px " ;
if (parseInt($( " scroll " ).style.left) < 0 ){$( " scroll " ).style.left = 0 + " px " }
if (parseInt($( " scroll " ).style.left) > 570 ){$( " scroll " ).style.left = 570 + " px " }
$(
" img " ).scrollLeft = parseInt($( " scroll " ).style.left) * ((maxWidth - 600 ) / 570);
  }
}
var  targetx  =   200 ; // 一次滚动距离
var  dx;
var  a = null ;
function  moveLeft(){
var  le = parseInt($( " img " ).scrollLeft);
if (le > 200 ){
targetx
= parseInt($( " img " ).scrollLeft) - 200 ;
}
else {targetx = parseInt($( " img " ).scrollLeft) - le - 1 }
scLeft();
}
function  scLeft(){
dx
= parseInt($( " img " ).scrollLeft) - targetx;
$(
" img " ).scrollLeft -= dx * . 3 ;
$(
" scroll " ).style.left = parseInt($( " img " ).scrollLeft) * ( 570 / (maxWidth-600))+"px";
if (parseInt($( " scroll " ).style.left) < 0 ){$( " scroll " ).style.left = 0 + " px " }
if (parseInt($( " scroll " ).style.left) > 570 ){$( " scroll " ).style.left = 570 + " px " }
clearScroll
= setTimeout(scLeft, 50 );
if (dx * . 3 < 1 ){clearTimeout(clearScroll)}
}
function  moveRight(){
var  le = parseInt($( " img " ).scrollLeft) + 200 ;
var  maxL = maxWidth - 600 ;
if (le < maxL){
targetx
= parseInt($( " img " ).scrollLeft) + 200 ;
}
else {targetx = maxL}
scRight();
}
function  scRight(){
dx
= targetx - parseInt($( " img " ).scrollLeft);
$(
" img " ).scrollLeft += dx * . 3 ;
$(
" scroll " ).style.left = parseInt($( " img " ).scrollLeft) * ( 573 / (maxWidth-600))+"px";
if (parseInt($( " scroll " ).style.left) < 0 ){$( " scroll " ).style.left = 0 + " px " }
if (parseInt($( " scroll " ).style.left) >= 570 ){$( " scroll " ).style.left = 570 + " px " }
a
= setTimeout(scRight, 50 );
if (dx * . 3 < 1 ){clearTimeout(a)}
}
</ script >
</ body >
</ html >
< br  />
< p >< href ="http://www.webdm.cn" > 网页代码站 </ a >  - 最专业的网页代码下载网站 - 致力为中国站长提供有质量的网页代码! </ p >
代码来自:http://www.webdm.cn/webcode/e12fb676-0a1b-4010-bf34-ae540d9cfa32.html

 

 

转载于:https://www.cnblogs.com/webdm/archive/2011/08/29/2157430.html

相关文章:

  • 关于服务器缓存的思考
  • 伸向开源世界的“橄榄枝”
  • 运营中心:网站分析、网络广告注释
  • Fedora8上Apache Httpd与Tomcat6初集成
  • 转贴:下辈子,无论爱与不爱,都不会再见
  • 塔式,机架,刀片服务器
  • 静态网页和动态网页
  • 安全运维之:服务器遭受攻击后的一般处理过程
  • TNF拮抗剂相关炎性神经系统疾病
  • linux软件包管理rpm
  • 读写文件(二进制文件、文本文件、ini文件)
  • XFire WebService开发快速起步
  • blat命令行发邮件小工具
  • 一起谈.NET技术,SharePoint 2010中的单点登录
  • 使用 Iframe实现跨域通信
  • 时间复杂度分析经典问题——最大子序列和
  • “大数据应用场景”之隔壁老王(连载四)
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • LintCode 31. partitionArray 数组划分
  • web标准化(下)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 京东美团研发面经
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 如何解决微信端直接跳WAP端
  • 算法---两个栈实现一个队列
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​Python 3 新特性:类型注解
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Python) SOAP Web Service (HTTP POST)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (转)平衡树
  • . Flume面试题
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .pop ----remove 删除
  • :=
  • @WebService和@WebMethod注解的用法
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [14]内置对象
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [codevs 1296] 营业额统计
  • [ComfyUI进阶教程] animatediff视频提示词书写要点
  • [HDU 3555] Bomb [数位DP]
  • [html] 动态炫彩渐变背景
  • [IDF]啥?