Blogger Information
Blog 9
fans 0
comment 0
visits 6147
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
利用jq实现导航条隐藏与购物车界面功能—2019年1月24日 10:05
蜗牛的博客
Original
1205 people have browsed it

一、导航条隐藏功能

1、当页面滚动时触发事件,滚动到一定距离时隐藏导航条,又到一定距离后显示导航条,并更新样式

2、特别注意的是,scrollTop是页面卷起的高度,并非滚动条滚动的距离

  $(window).scroll(function(){

      //页面往上卷起的距离大于导航高度时,隐藏顶部导航

      //卷起的距离不是滚动条滚动的距离,两者距离不一样

      if($(window).scrollTop()>60) {


3、当页面卷起高度超过轮播图的高度后,导航条重新显示,并更新样式

      if($(window).scrollTop()>580) {

        $('.content').addClass('content_2').css('display','block')

      }


实例

<!DOCTYPE html>
<html>
<head>
  <title>获取滚动值案例</title>
  <link rel="icon" type="image/x-icon" href="images/2.png"> 
   <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
   <style type="text/css">
      *{margin: 0;padding: 0;}
      .content{ width:100%;height:60px;
                background: rgba(160,3,162,0.1);
                box-shadow: 1px 3px 7px #ccc;
                line-height: 60px;
                position: fixed;
              }
      .content_2{
        background: rgba(160,3,162,0.4);
      }
      form{width: 500px;height: 35px;position: relative;margin: 0 auto;}
      input{width:480px;height: 35px;border-radius: 20px;border:none;outline: none;padding-left:20px;}
      button{width: 70px;height:35px;order:none; 
            border-top-right-radius: 20px;border-bottom-right-radius: 20px;border: none;
            color: #fff;position: absolute;right:0;top:14px;
            outline: none;font-weight: bold;
            background: rgba(160,3,162,0.4);
          }
      [placeholder]{color:rgba(160,3,162,0.6)}
      .pic{width: 70%;height: 580px;background: url(images/3.jpg);margin: 0 auto;}
      .box{width: 70%;height:1200px;background:rgba(108,108,106,0.1);margin: 0 auto; }
   </style>

</head>
<body> 
<!-- 顶部导航 -->
 <div class="content">
   <form>
    <input type="text" placeholder="# 请输入关键词 #">
    <button>全网搜</button>
  </form>
 </div>
 <!-- 轮播图 -->
 <div class="pic"></div>
 <!-- 页面详情 -->
 <div class="box"></div>




<!--  实现搜索框的样式改变 -->

<script>
//文档就绪
  $(function(){
    //当窗口滚动时触发事件
    $(window).scroll(function(){
      //页面往上卷起的距离大于导航高度时,隐藏顶部导航
      //卷起的距离不是滚动条滚动的距离,两者距离不一样
      if($(window).scrollTop()>60) {
        $('.content').css('display','none')
      }
      else{
        $('.content').css('display','block')
      }
      if($(window).scrollTop()>580) {
        $('.content').addClass('content_2').css('display','block')
      }
      else{
        $('.content').removeClass('content_2')
      }
      
    })
  })
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


二、购物车界面

实现功能:

1、一个属性只能选择一个值,如:颜色只能选择一种;机身版本只能选一种

//点击span触发事件
     $('span').click(function(){
      //判断点击的这个元素是否被选中
      if($(this).hasClass('selected')){
       //被选中则移除选中效果
       $(this).removeClass('selected')
      }
      else{
       //没有被选中则添加上选中效果,并选中其所有同级span,让它们移除选中效果
       $(this).addClass('selected').siblings('span').removeClass('selected')
      }


2、某个属性没选时,会有弹窗提示

//点击span触发事件
     $('span').click(function(){
      //判断点击的这个元素是否被选中
      if($(this).hasClass('selected')){
       //被选中则移除选中效果
       $(this).removeClass('selected')
      }
      else{
       //没有被选中则添加上选中效果,并选中其所有同级span,让它们移除选中效果
       $(this).addClass('selected').siblings('span').removeClass('selected')
      }


3、***数量必须大于1

4、能在控制台看到所选信息


实例

<!DOCTYPE HTML>
<html>
<head>
<title>点击商品选中效果</title>
<meta charset="utf-8"/>
 <link rel="icon" type="image/x-icon" href="images/2.png"> 
 <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
 <style type="text/css">
	* {margin: 0px auto;padding: 0px;}
	.top {width: 402px;height: 35px;
		  line-height: 35px;text-align:center;
		  margin-top: 50px;
		  background: #C40000;color:#fff;
		}
	.main {width: 400px;height: 400px;border: 1px solid #C40000;}
	p {width: 400px;height: 26px;margin-top:10px;}
	b {width: 90px;height: 26px;
	   line-height: 26px;text-align: center;
	   font-size: 12px;color:#838383;
	   border: 1px solid #ccc;   
	   float: left;margin-left: 5px;}
	span {width: 90px;height: 26px;line-height: 26px;
		text-align: center;font-size: 12px;
		color:#838383;border: 1px solid #ccc;
		display: block;float: left;margin-left: 5px;}
	span:hover {cursor: pointer;}
	button {width: 120px;height: 35px;background: #C40000;color: white;border: 0px;}
	button:hover {cursor: pointer;}
	.notice{
		border:0px;
	}

	.selected{
		border: 2px solid #C40000;
		width: 88px;
		height: 24px;
		color: red;
	}
</style>

</head>
<body>
  <div class="top">请选择信息后加入购物车</div>
	<div class="main">
		<p class="item" name="version">
			<b class="notice">版本</b>
			<span>ONE A2001</span>
			<span>ONE A0001</span>
			<span>ONE A1001</span>
		</p>
		<p class="item" name="color">
			<b class="notice">机身颜色</b>
			<span>白色</span>
			<span>黑色</span>
			<span>金色</span>
		</p>
		<p class="item" name="type">
			<b class="notice">套餐类型</b>
			<span>标配</span>
			<span>套餐一</span>
			<span>套餐二</span>
		</p>
		<p class="item" name="ram">
			<b class="notice">运行内存</b>
			<span>2GB</span>
			<span>3GB</span>
			<span>4GB</span>
		</p>
		<p class="item" name="rom">
			<b class="notice">机身内存</b>
			<span>16GB</span>
			<span>32GB</span>
			<span>64GB</span>
		</p>
		<p class="item" name="location">
			<b class="notice">产地</b>
			<span>中国大陆</span>
			<span>港澳台</span>
		</p>
		<p class="item" name="price">
			<b class="notice">价格</b>
			<span>999元抢购</span>
		</p>
		<p class="item1" name="num">
			<b class="notice">数量</b>
			<input type="number" value="1" style="width:40px;height:26px;">
		</p>

		<p style="margin-top:30px;margin-left:95px;">
			<button class="bu1" id='sub'>加入购物车</button>
		</p>		
  </div>



 <script>
 	
 	//实现功能:同一属性只能选择一个值,如:颜色只能有一种颜色
    $(function(){

    	//点击span触发事件
    	$('span').click(function(){

    		//判断点击的这个元素是否被选中
    		if($(this).hasClass('selected')){

    			//被选中则移除选中效果
    			$(this).removeClass('selected')
    		}

    		else{

    			//没有被选中则添加上选中效果,并选中其所有同级span,让它们移除选中效果
    			$(this).addClass('selected').siblings('span').removeClass('selected')
    		}
    	})


    	//点击加入购物车,弹出提示信息,在控制台输出元素和对应的值

    	$('.bu1').click(function(){

    		let obj1 = {}
    		let tof = true
    		//var b1 = $('p').children('b')
    		//var b1_value = $('p').children('span.selected')//在children方法里面添加更具体的参数来筛选

    		$('.item').each(function(){
    			
    			if($(this).children('span.selected').length != 1){

    				alert($(this).children('b').text()+'未选中')
    				tof=false
    			}
    			else{

    				let name = $(this).children('b').text()
    				obj1[name] = $(this).children('span.selected').text()
    			}

    			})

    			if($('.item1 input').val() < 1){

    				alert('***数量至少为1')
    				tof=false
    			}
    			else{

    				obj1[$('.item1').children('b').text()]=$('.item1 input').val()
    				
    			}
    		
    		if(tof){

    			console.log(obj1)

    			alert('成功加入购物车!')
    		}
    	})

    })
 </script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post