希望本文所述对大家jQuery程序设计有所帮助,本

2019-07-13 作者:小鱼儿主页高手论坛   |   浏览(150)

本文为大家分享了jQuery实现左右图片轮播代码,供大家参考,具体实现内容如下

本文实例讲述了jquery.cookie实现的客户端购物车操作。分享给大家供大家参考,具体如下:

本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助。

本文实例为大家介绍了基于javascript实现放大镜效果的原理和代码,分享给大家供大家参考,具体内容如下:

运行效果图:

//购物车
var Cart = function () {
  this.Count = 0;
  this.Total = 0;
  this.Items = new Array();
};
//购物车集合对象
var CartItem = function () {
  this.Id = 0;
  this.Name = "";
  this.Count = 0;
  this.Price = 0;
};

//购物车操作
var CartHelper = function () {
  this.cookieName = "yxhCart";
  this.Clear = function () {
    var cart = new Cart();
    this.Save(cart);
    return cart;
  };
  //向购物车添加
  this.Add = function (id, name, count, price) {
    var cart = this.Read();
    var index = this.Find(id);
    //如果ID已存在,覆盖数量
    if (index > -1) {
      cart.Total -= (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
      cart.Items[index].Count = count;
      cart.Total  = (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
    } else {
      var item = new CartItem();
      item.Id = id;
      item.Name = name;
      item.Count = count;
      item.Price = price;
      cart.Items.push(item);
      cart.Count  ;
      cart.Total  = (((cart.Items[index].Count * 100) * (cart.Items[index].Price * 100)) / 10000);
    }
    this.Save(cart);
    return cart;
  };
  //改变数量
  this.Change = function (id, count) {
    var cart = this.Read();
    var index = this.Find(id);
    cart.Items[index].Count = count;
    this.Save(cart);
    return cart;
  };
  //移出购物车
  this.Del = function (id) {
    var cart = this.Read();
    var index = this.Find(id);
    if (index > -1) {
      var item = cart.Items[index];
      cart.Count--;
      cart.Total = cart.Total - (((item.Count * 100) * (item.Price * 100)) / 10000);
      cart.Items.splice(index, 1);
      this.Save(cart);
    }
    return cart;
  };
  //根据ID查找
  this.Find = function (id) {
    var cart = this.Read();
    var index = -1;
    for (var i = 0; i < cart.Items.length; i  ) {
      if (cart.Items[i].Id == id) {
        index = i;
      }
    }
    return index;
  };
  //COOKIE操作
  this.Save = function (cart) {
    var source = "";
    for (var i = 0; i < cart.Items.length; i  ) {
      if (source != "") { source  = "|$|"; }
      source  = this.ItemToString(cart.Items[i]);
    }
    $.cookie(this.cookieName, source);
  };
  this.Read = function () {
    //读取COOKIE中的集合
    var source = $.cookie(this.cookieName);
    var cart = new Cart();
    if (source == null || source == "") {
      return cart;
    }
    var arr = source.split("|$|");
    cart.Count = arr.length;
    for (var i = 0; i < arr.length; i  ) {
      var item = this.ItemToObject(arr[i]);
      cart.Items.push(item);
      cart.Total  = (((item.Count * 100) * (item.Price * 100)) / 10000);
    }
    return cart;
  };
  this.ItemToString = function (item) {
    return item.Id   "||"   escape(item.Name)   "||"   item.Count   "||"   item.Price;
  };
  this.ItemToObject = function (str) {
    var arr = str.split('||');
    var item = new CartItem();
    item.Id = arr[0];
    item.Name = unescape(arr[1]);
    item.Count = arr[2];
    item.Price = arr[3];
    return item;
  };
};
  1. 字符串长度截取

原理:

图片 1

希望本文所述对大家jQuery程序设计有所帮助。

function cutstr(str, len) {
  var temp,
    icount = 0,
    patrn = /[^x00-xff]/,
    strre = "";
  for (var i = 0; i < str.length; i  ) {
    if (icount < len - 1) {
      temp = str.substr(i, 1);
        if (patrn.exec(temp) == null) {
          icount = icount   1
      } else {
        icount = icount   2
      }
      strre  = temp
      } else {
      break;
    }
  }
  return strre   "..."
}

A:放大镜   B:小图片

重点!!!

您可能感兴趣的文章:

  • jQuery通过写入cookie实现更换网页背景的方法
  • Jquery操作cookie记住用户名
  • jquery中cookie用法实例详解(获取,存储,删除等)
  • jquery.cookie.js用法实例详解
  • jQuery基于cookie实现的购物车实例分析
  • jQuery操作cookie方法实例教程
  • jQuery的cookie插件实现保存用户登陆信息
  • jquery.cookie() 方法的使用(读取、写入、删除)
  • jquery 删除cookie失效的解决方法
  • 可兼容IE的获取及设置cookie的jquery.cookie函数方法
  • 详解jQuery的Cookie插件
  1. 替换全部

C:大图片可视区域

实现原理:

String.prototype.replaceAll = function(s1, s2) {
  return this.replace(new RegExp(s1, "gm"), s2)
}

D:大图片

通过判断index值的大小变化来判断图片左移还是右移。通过控制图片的left值,来达到一个轮播的效果。

  1. 清除空格

鼠标的位置应该在放大镜的中央,所以鼠标位置为:

具体代码:

String.prototype.trim = function() {
  var reExtraSpace = /^s*(.*?)s $/;
  return this.replace(reExtraSpace, "$1")
}

clientX=A.offsetLeft() B.offsetLeft 1/2*A.offsetWidth;

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
 </head>
 <script src="js/jquery.min.js"></script>
 <style>
  .banner{
   margin:0 auto;
   border: 4px dashed black;
   width:400px;
   height:200px;
   position: relative;
   overflow:hidden;
  }
  .banner a{
   z-index: 100;
   display: block;
   width:100%;
   height: 100%;
   position: absolute;
   left:100%;
   top:0;
  }
  .banner .first{
   left:0;
  }
  .banner a img{
   width:100%;
   height: 100%;
  }
  .choose{
   z-index: 1000;
   position: absolute;
   left:150px;
   top:180px;
   width:100px;
   height: 10px;
  }
  .choose span{
   margin-right: 15px;
   float: left;
   display:block;
   background: blue;
   width:10px;
   height: 10px;
   border-radius: 10px;
  }
  .choose span:hover{
   background: red;
  }
  .choose .red{
   background: red;
  }
  .banner .pre,.next{
   cursor:pointer;
   text-align:center;
   border-radius:20px;
   display:block;
   background:#cccccc;
   opacity:0.4;
   text-decoration: none;
   z-index: 200;
   display:block;
   width:40px;
   height: 40px;
   font-size: 40px;
   color:red;
   position: absolute;
   top:80px;
  }
  .banner .pre{
   left:0px
  }
  .banner .next{
   right: 0px;
  }
 </style>
 <body>

  <div class="banner">
   <!--
    这里为上一页下一页点击按钮
   -->
   -
    
   <!--
    此处为轮播主体,颜色块代替。图片自加
   -->
   <a href="###" class="first" style="background: pink;"></a>
   <a href="###" style="background: blue;"><img src="images/banner1.jpg"/></a>
   <a href="###" style="background: greenyellow;"><img src="images/banner2.jpg"/></a>
   <a href="###" style="background: deepskyblue;"><img src="images/banner3.jpg"/></a>
   <!--
    此处为轮播部分下方小点选择
   -->
   <div class="choose">




   </div>
  </div>

  <script>
   /*定义两个变量,保存当前页码和上一页页码*/
   var $index=0;
   var $exdex=0;
   /*小点的鼠标移入事件,触发图片左移还是右移*/
   $(".choose span").mouseover(function(){
    //获取当前移入的index值
    $index=$(this).index();  
    //首先让点的颜色变化,表示选中
    $(".choose span").eq($index).addClass("red").siblings().
      removeClass("red");
    //判断如果index变小,证明图片要往左移动。变大则为右移
    if($index>$exdex){
     next();
    }else if($index<$exdex){
     pre();
    }
    //移动完毕将当前index值替换了前页index
    return $exdex=$index;
   });
   //下一页的点击事件。在右移基础上加了最大index判断
   $(".next").click(function(){
    $index  ;
    if($index>3){
     $index=0
    }
    $(".choose span").eq($index).addClass("red").siblings().
      removeClass("red");
    next();
    return $exdex=$index;
   });
   //上一页的点击事件
   $(".pre").click(function(){
    $index--;
    if($index<0){
     $index=3
    };
    $(".choose span").eq($index).addClass("red").siblings().
     removeClass("red");
    pre();
    return $exdex=$index;
   });
   //加个定时器,正常轮播
   var atime=setInterval(function(){
    $(".next").click();   
   },1000);
   //这里为右移和左移的事件函数。
   //右移基本原理就是先让exdex定位的left左移百分百,而选中的当前页从屏幕右边移入,left变为0
   function next(){
    $(".banner a").eq($index).stop(true,true).
      css("left","100%").animate({"left":"0"});
    $(".banner a").eq($exdex).stop(true,true).
      css("left","0").animate({"left":"-100%"});
   }
   function pre(){
    $(".banner a").eq($index).stop(true,true).
     css("left","-100%").animate({"left":"0"});
    $(".banner a").eq($exdex).stop(true,true).
     css("left","0").animate({"left":"100%"});
   }
  </script>
 </body>
</html>
  1. 清除左空格/右空格

clientY=A.offsetTop() B.offsetTop 1/2*A.offsetHeight;

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

function ltrim(s){ return s.replace( /^(s*| *)/, ""); } 
function rtrim(s){ return s.replace( /(s*| *)$/, ""); }

鼠标移动过程中:放大镜A和大图D是一起随鼠标成比例运动的,因为当放大镜A的右边框移动到与小图B的右边框重合时,大图D也应该移动到了右边框与C的右边框重合的地方,所以,他们的移动比例是:(D.offsetWidth-C.offsetWidth)/(B.offsetWidth-A.offsetWidth)=b/a

以上就是本文的全部内容,帮助大家实现一个简单大方的图片轮播效果。

  1. 判断是否以某个字符串开头

图片 2

您可能感兴趣的文章:

  • 12款经典的白富美型—jquery图片轮播插件—前端开发必备
  • jQuery图片轮播的具体实现
  • 基于JQuery的实现图片轮播效果(焦点图)
  • 原生js和jquery实现图片轮播淡入淡出效果
  • 基于jquery的图片轮播 tab切换组件
  • jQuery左右滚动支持图片放大缩略图图片轮播代码分享
  • jQuery制作简洁的图片轮播效果
  • 简单的jQuery banner图片轮播实例代码
  • jQuery动画效果图片轮播特效
  • 用jQuery实现圆点图片轮播效果
  • jQuery实现图片简单轮播功能示例
String.prototype.startWith = function (s) {
  return this.indexOf(s) == 0
}

HTML部分:

  1. 判断是否以某个字符串结束
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>放大镜效果</title>

<style>

*{
margin:0;
padding:0; 
}

#demo{
position: relative;
margin:30px 50px;
width: 1000px;
height: 600px;
border: 1px solid #000;
}

#zhezhao{
position: absolute;
z-index:2;
background:red;
width:402px;
height:402px;
left: 20px;
top:20px;
opacity: 0;
}

#small{
position: absolute;
width:402px;
height:402px;
left: 20px;
top:20px;
border: 1px solid #000;
z-index: 1;
}


#small img{
position: absolute;

}


#big{
position: relative;
top: 20px;
left: 460px;
width:500px;
height:500px;
border: 1px solid #000;
overflow: hidden;
display: none;
z-index: 1;
}


#big img{
position: absolute;

}


#glass{
position: absolute;
width:100px;
height: 100px;
opacity: 0.3;
background:orange;
display: none;
}

</style>


</head>


<body>
<div id='demo'>
<div id='zhezhao'> </div> 
<!-- 在ie浏览器中,当鼠标在放大镜上是,浏览器并不认为鼠标同样在小图的div上,所以加个遮罩层 兼容ie-->


<div id='small'> 
<img src='images/small.png' alt=''>
<div id='glass'></div>
</div>
<div id='big'>
<img src='images/big.jpg' alt='' >

</div>

</div>



</body>

</html>

本文由小鱼儿玄机30码发布于小鱼儿主页高手论坛,转载请注明出处:希望本文所述对大家jQuery程序设计有所帮助,本

关键词: 小鱼儿玄机30码