`
彡彡稻草
  • 浏览: 38886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript封装的平滑图片滚动,绝不用jQuery

阅读更多

 



<!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=utf-8" />
<title>JavaScript封装的平滑图片滚动</title>
<style type="text/css">
body{ font-size:12px; color:#333;}
#picBox{width:610px; height:205px; margin:50px auto; overflow:hidden; position:relative;}
#picBox ul#show_pic{ margin:0; padding:0; list-style:none; height:205px; width:3050px; position:absolute;}
#picBox ul#show_pic li{ float:left; margin:0; padding:0; height:205px;}
#picBox ul#show_pic li img{ display:block;}
#icon_num{ position:absolute; bottom:0px; right:10px;}
#icon_num li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center;  cursor:pointer; padding:0; margin:0;margin-right:5px;}
#icon_num li:hover,#icon_num li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}
#picBox_top{width:610px; height:205px; margin:50px auto; position:relative; overflow:hidden;}
#picBox_top ul#show_pic_top{ margin:0; padding:0; list-style:none; height:205px; width:610px; position:absolute;}
#picBox_top ul#show_pic_top li{ float:left; margin:0; padding:0; height:205px;}
#picBox_top ul#show_pic_top li img{ display:block;}
#icon_num_top{ position:absolute; bottom:0px; right:10px;}
#icon_num_top li{ float:left; background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat -15px 0;width:15px; height:15px; list-style:none; color:#39F; text-align:center;  cursor:pointer; padding:0; margin:0;margin-right:5px;}
#icon_num_top li:hover,#icon_num_top li.active{ background:url(http://pc.qq.com/pc/images/flashbutton.gif) no-repeat 0 0; color:#fff;}
</style>
</head>
<body>
<div id="picBox">
<ul id="show_pic" style="left:0;">
    <li><img src="http://inncache.soso.com/pc/images/manage.jpg" width="610" height="205" alt="" title="" /></li>
        <li><img src="http://inncache.soso.com/pc/images/player.jpg" width="610" height="205" alt="" title="" /></li>
        <li><img src="http://inncache.soso.com/pc/images/py.jpg" width="610" height="205" alt="" title="" /></li>
        <li><img src="http://inncache.soso.com/pc/images/xf.jpg" width="610" height="205" alt="" title="" /></li>
        <li><img src="http://inncache.soso.com/pc/images/TT.jpg" width="610" height="205" alt="" title="" /></li>
    </ul>
    <ul id="icon_num">
    <li class="active">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</div>
<script type="text/javascript">
/**
*glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point);
*@param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动
*@param oEventCont type:object 包含事件点击对象的容器
*@param oSlider type:object 滑动对象
*@param sSingleSize type:number 滑动对象里单个元素的尺寸(width或者height)  尺寸是有point 决定
*@param second type:number 自动滑动的延迟时间  单位/秒
*@param fSpeed type:float   速率 取值在0.05--1之间 当取值是1时  没有滑动效果
*@param point type:string   left or top
*/
var glide =new function(){
function $id(id){return document.getElementById(id);};
this.layerGlide=function(auto,oEventCont,oSlider,sSingleSize,second,fSpeed,point){
var oSubLi = $id(oEventCont).getElementsByTagName('li');
var interval,timeout,oslideRange;
var time=1;
var speed = fSpeed
var sum = oSubLi.length;
var a=0;
var delay=second * 1000;
var setValLeft=function(s){
return function(){
oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
$id(oSlider).style[point] =-Math.floor(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
if(oslideRange==[(sSingleSize * s)]){
clearInterval(interval);
a=s;
}
}
};
var setValRight=function(s){
return function(){
oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
$id(oSlider).style[point] =-Math.ceil(oslideRange+(parseInt(s*sSingleSize) - oslideRange)*speed) +'px';
if(oslideRange==[(sSingleSize * s)]){
clearInterval(interval);
a=s;
}
}
}

function autoGlide(){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
clearTimeout(interval);
if(a==(parseInt(sum)-1)){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
a=0;
oSubLi[a].className="active";
interval = setInterval(setValLeft(a),time);
timeout = setTimeout(autoGlide,delay);
}else{
a++;
oSubLi[a].className="active";
interval = setInterval(setValRight(a),time);
timeout = setTimeout(autoGlide,delay);
}
}

if(auto){timeout = setTimeout(autoGlide,delay);};
for(var i=0;i<sum;i++){
oSubLi[i].onmouseover = (function(i){
return function(){
for(var c=0;c<sum;c++){oSubLi[c].className='';};
clearTimeout(timeout);
clearInterval(interval);
oSubLi[i].className="active";
if(Math.abs(parseInt($id(oSlider).style[point]))>[(sSingleSize * i)]){
interval = setInterval(setValLeft(i),time);
this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
}else if(Math.abs(parseInt($id(oSlider).style[point]))<[(sSingleSize * i)]){
interval = setInterval(setValRight(i),time);
this.onmouseout=function(){if(auto){timeout = setTimeout(autoGlide,delay);};};
}
}
})(i)
}
}
}
glide.layerGlide(true,'icon_num','show_pic',610,2,0.1,'left');
</script>
</body>
</html>

 

分享到:
评论

相关推荐

    JavaScript封装的平滑图片滚动 绝不用jQuery.zip

    在本压缩包中,"JavaScript封装的平滑图片滚动 绝不用jQuery.zip" 提供了一个使用纯JavaScript实现的平滑图片滚动功能,这在网页设计中非常常见,特别是在创建滑动展示或轮播图组件时。 在网页模板中,jQuery曾是...

    jQuery图片左右滚动效果代码.zip

    在图片滚动效果中,我们需要选中包含图片的容器,然后通过CSS操作改变其样式,以实现图片的移动。 2. **事件处理**:为了实现左右箭头的点击事件,我们需要为这两个元素绑定`click`事件。当用户点击箭头时,触发...

    滚动新闻,滚动图片,jquery滚动新闻,jqeury滚动图片

    在实际开发中,往往会选择现成的jQuery插件,如jQuery-scrollnews,这类插件已经封装好了滚动效果,只需简单配置即可使用。它们通常包含以下功能: 1. 自动播放:设定间隔时间后自动切换新闻或图片。 2. 手动控制:...

    Jquery相册图片滚动

    "Jquery相册图片滚动"是利用jQuery实现的一种常见功能,常用于展示一系列图片,并通过用户交互(如点击)来实现图片的动态切换,提供良好的用户体验。 首先,我们要理解jQuery的基本概念。jQuery是由John Resig创建...

    jquery scroll图片滚动菜单鼠标移动图片滚动

    本主题聚焦于“jquery scroll图片滚动菜单鼠标移动图片滚动”,这是一个利用jQuery实现的交互式网页效果,通常用于创建动态的、响应式的图片滚动菜单。当我们把鼠标移到这个菜单上时,图片会随着鼠标的移动而滚动,...

    超好用jquery图片滚动

    jQuery作为一个轻量级、功能强大的JavaScript库,为实现图片滚动提供了便利。标题“超好用jquery图片滚动”所指的就是利用jQuery来实现的高效图片滚动效果。只需少量的代码,开发者就能创建出专业且引人入胜的图片...

    JQuery插件图片滚动带放大镜

    **jQuery插件图片滚动带放大镜详解** 在网页设计中,为了提高用户体验,尤其是在商品展示环节,图片的处理显得尤为重要。"JQuery插件图片滚动带放大镜"就是一种常用的解决方案,它能模拟天猫、淘宝等电商平台的商品...

    javascript图片滚动

    JavaScript图片滚动是一种常见的网页动态效果,它通过编程方式实现图片的自动切换,为网站增添视觉吸引力。这种技术在网页设计中被广泛应用,特别是在新闻、产品展示或者轮播图等场景下。JavaScript作为客户端脚本...

    jquery层叠图片滚动切换

    在实际开发中,可以参考现有的jQuery轮播插件,如Slick、Swiper或Bootstrap的Carousel组件,它们已经封装好了大部分功能,只需按照文档配置即可实现层叠图片滚动切换的效果。当然,如果需要定制更复杂的功能,直接...

    JavaScript和jquery实战手册

    JavaScript和jQuery是Web开发中的两种关键技术,它们在创建交互式网页和动态用户界面方面发挥着重要作用。本实战手册旨在深入探讨这两种技术的核心概念、语法以及实际应用,帮助开发者提升技能并构建高效、响应式的...

    jQuery平滑图片滚动

    本文将详细讲解如何实现一个基于jQuery的平滑图片滚动特效。 首先,我们要理解jQuery的核心优势。jQuery提供了简洁的API,使得开发者能够更高效地编写JavaScript代码。在实现图片滚动特效时,我们主要利用的是...

    \jquery 图片滚动插件

    本文将详细解析与“\jquery 图片滚动插件”相关的知识点,帮助您理解如何利用jQuery实现图片的滚动效果以及相关功能。 首先,jQuery图片滚动插件的核心功能是提供一种动态展示图片的方式,比如在企业网站的首页展示...

    javascript经典特效---jQuery仿动感flash自动滚动图片切换广告插件.rar

    本资源"javascript经典特效---jQuery仿动感flash自动滚动图片切换广告插件.rar"是一个基于jQuery实现的图片轮播插件,它模仿了早期Flash技术中的动态滚动效果,但在不依赖Flash的情况下提供了类似的用户体验。...

    jquery图片滚动条放大效果rar

    《jQuery实现图片滚动条放大效果详解》 在网页设计中,动态效果的运用可以极大地提升用户体验,其中图片滚动条放大效果是一种常见的交互设计手法。本文将深入探讨如何使用jQuery库来实现这一效果,帮助读者理解并...

    jquery 图片滚动效果

    本篇文章将详细讲解如何利用jQuery实现一个图片滚动效果,特别是描述中的“3D效果”。 首先,我们需要理解jQuery的核心概念。jQuery通过选择器找到DOM元素,然后对这些元素进行操作。在“图片滚动效果”这个场景中...

    最好的滚动图片jquery代码

    标题中的“最好的滚动图片jquery代码”指的是一种利用JavaScript库jQuery实现的高效、美观的图片滚动效果。在网页设计中,动态的图片滚动可以增加视觉吸引力,帮助用户浏览更多的信息,尤其是在有限的空间内展示多张...

    jQuery多样式按钮平滑滚动焦点图.zip

    在这个“jQuery多样式按钮平滑滚动焦点图”项目中,开发者利用jQuery的强大功能创建了一个功能丰富的视觉展示工具,适用于网站设计和开发。 首先,我们要理解“焦点图”或“幻灯图”的概念。焦点图是一种网页设计...

Global site tag (gtag.js) - Google Analytics