jQuery 的一个自动向上翻页的效果

jQuery效果的制作还是相对与JS来所容易简便得多,今天分享的制作的一个jQuery效果是图片 自动向上翻页的一个特效,这特效对于商城来说还是比较常见的下面是代码:

<!DOCTYPE html>
<html>
<head>
    <title>upDown1</title>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <style type="text/css">

        * { margin:0; padding:0;}
        ul, li { list-style:none;}
        body{
            text-align:center;
        }
        .play{
            width:400px;
            height:80px;
            position:relative;
            overflow:hidden;
            background:#DDD;
            margin:10px 0;
        }
        .playimg{
            width:400px;
            height:80px;
            background:red;
            position:absolute;
        }
        .playimg li{
            height:80px;
            background:green;
            margin:5px 0;
            overflow:hidden;
        }
        .playimg img{
            width:80px;
            height:80px;
        }

    </style>
</head>
<body>
<script type="text/javascript">
    function $(id){return document.getElementsByClassName(id)}
    function moveElement(elementID,n,final_x,final_y,interval) {
        if (!document.getElementsByClassName) return false;
        if (!document.getElementsByClassName(elementID)) return false;
        var elem = document.getElementsByClassName(elementID)[n];
        if (elem.movement) {
            clearTimeout(elem.movement);
        }
        if (!elem.style.left) {
            elem.style.left = "0px";
        }
        if (!elem.style.top) {
            elem.style.top = "0px";
        }
        var xpos = parseInt(elem.style.left);
        var ypos = parseInt(elem.style.top);
        if (xpos == final_x && ypos == final_y) {
            return true;
        }
        if (xpos < final_x) {
            var dist = Math.ceil((final_x - xpos)/10);
            xpos = xpos + dist;
        }
        if (xpos > final_x) {
            var dist = Math.ceil((xpos - final_x)/10);
            xpos = xpos - dist;
        }
        if (ypos < final_y) {
            var dist = Math.ceil((final_y - ypos)/10);
            //ypos = dist + ypos; //往下切换回第一张
            ypos = dist - ypos; //往上切换回第一张
        }
        if (ypos > final_y) {
            var dist = Math.ceil((ypos - final_y)/10);
            ypos = ypos - dist;
        }

        elem.style.left = xpos + "px";
        elem.style.top = ypos + "px";
        var repeat = "moveElement(‘"+elementID+"‘,"+n+","+final_x+","+final_y+","+interval+")";
        elem.movement = setTimeout(repeat,interval);
    }
    function imgChange(num,n){//切换内容
        if(!$(‘play‘)) return false;
        var piclist=$(‘playimg‘)[n].getElementsByTagName(‘img‘);
        var imgheight=piclist[0].offsetHeight;
        var moveY=-(imgheight*num);

        moveElement(‘playimg‘,n,0,moveY,5);
    }
    function classToggle(arr,n){//切换当前样式Class
        for(var i=0;i<arr.length;i++){
            arr[i].className=‘‘;
        }
        arr[n].className=‘current‘;
    }

    function autoChange(btns){
        if(!$(btns)) return false;
        if(!autokey) return false;

        for(var j=0;j<$(btns).length;j++){
            var arr=$(btns)[j].getElementsByTagName(‘li‘);

            for(var i=0;i<arr.length;i++){
                if(arr[i].className==‘current‘){
                    var n=i+1;
                }
            }
            if(n>=arr.length) n=0;
            classToggle(arr,n);
            imgChange(n,j);
        }
    }

    var autokey = true;
    setInterval("autoChange(‘playimg‘)",3000);

</script>
<div class="play">
    <ul class="playimg">
        <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
        <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
    </ul>
</div>

<div class="play">
    <ul class="playimg">
        <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
        <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
        <li><img  alt="" src="./public/img/2.jpg" />333333333</li>
    </ul>
</div>

<div class="play">
    <ul class="playimg">
        <li class="current"><img  alt="" src="./public/img/1.jpg" />11111111</li>
        <li><img  alt="" src="./public/img/1.jpg" />222222222</li>
        <li><img  alt="" src="./public/img/1.jpg" />333333333</li>
        <li><img  alt="" src="./public/img/1.jpg" />444444444</li>
    </ul>
</div>

</body>
</html>
时间: 2024-10-27 06:25:40

jQuery 的一个自动向上翻页的效果的相关文章

JQuery实现一个简单的鼠标跟随提示效果

效果体验:http://hovertree.com/texiao/jsstudy/2/ 实现思路 1 鼠标移入标题(这里是<a>标签) 创建一个div,div的内容为鼠标位置的文本 将创建好的div加到文档中 为提示层设置位置 2 鼠标移出标题 移除div 3 当鼠标在标题内移动时 同样添加div效果 上面是跟随光标的,这个是居中的:http://hovertree.com/texiao/jsstudy/2/1.htm 跟随光标完整代码如下: 1 <!DOCTYPE html> 2

jquery 实现一个页面多个tab页

<!DOCTYPE html ><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jquery 实现 一个页面 多个tab</title><style type="text/css">ul{    list-style:none;   

一个随机上翻的小效果

html <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html; charset=uft-8"> <meta name="keywords

simple-spa 一个简单的单页应用实例

上两篇文章说过要写一个简单的单页应用例子的, 迟迟没有兑诺, 实在有愧 哈哈.这篇写给小白用户哈. 正好趁今天风和日丽,事情不多, 把从项目里的代码扣取了一下, 整理了一个简单的例子.因为我们生产项目用到es6 还有构建工具,为了让例子足够简单和原生,除了一个zepto,连require都是我之前写的文章里的实现的,很简单70行代码. 事例地址 github:https://github.com/skyweaver213/simple-spa demo: https://skyweaver213

Yii 2 —— Backend自动出现登录页

1.1  Backend自动出现登录页 用http://backend/访问后端时,页面会自动被重定向到http://backend/index.php?r=site%2Flogin,要求进行登录,这其中的流程是怎样的? 按照YII的理念,框架在处理http://backend/这种链接时,首先要找到默认的controller,然后再找默认的action. 1.1.1  获取默认controller 在backend应用的最初入口文件:index.php中,有如下代码: (new yii\web

[python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序

1.问题描述: 最近百度总爱做一些破坏用户信任度的事——文库金币变券.网盘限速,吓得我赶紧想办法把存在百度云音乐中的歌曲下载到本地. http://yinyueyun.baidu.com/ 可问题是云音乐中并没有批量下载,而上面我总共存了700多首音乐! 因此:有必要写一个脚本自动下载这些音乐了!!! 2.解决问题 自动下载歌曲有两种方法: JS法 模拟鼠标点击法 由于考虑到JS法需要分析网页结构.寻找下载链接,工作量有点大,于是选择用模拟鼠标点击法! 在linux上我首先想到用python来做

撸一个自动换壁纸桌面应用

作为一名IT从业人员,一天当中陪着电脑的时间比陪家人的时间还要长.由于长时间盯着电脑屏幕,难免看厌了单调的桌面壁纸.本着换个壁纸,换种心情的目的,尝试了好几个自动换壁纸的windows桌面应用,要不是广告太烦,要不就是弹窗太惹人厌.于是,萌生了自已撸一个自动换壁纸桌面应用的想法. 现将换壁纸应用的构思.实现过程做以记录: 一.构思过程: 自动换壁纸这个诉求,拆开来看主要有两个方面.其一,能够更换桌面壁纸:其二,能够自动换壁纸. 先说说能够换壁纸.由于 window api 提供了相应的方法,原生

ElementUI分页Pagination自动到第一页

当数据量过多时,使用分页请求数据. 设置分页的页数自动回到第一页. 例: <div class="pagination"> <el-pagination background layout="prev, pager, next" :current-page.sync="currentPage" @current-change="current_change" :page-size="7"

jQuery生成一个DIV容器,ID是&quot;rating&quot;.

我们需要一些服务器端代码,这个例子中用到了一个PHP文件,读取rating参数然后返回rating总数和平均数.看一下rate.php代码.虽然这些例子也可以不使用AJAX来实现,但显示我们不会那么做,我们用jQuery生成一个DIV容器,ID是"rating". $(document).ready(function() {        // generate markup        var ratingMarkup = ["lease rate: "];