• JQuery 总结(5)  总结各种小应用


    一.点击 右边滚动条跳转,模仿汽车品牌查找滚动条
    主要知识点:
     
    1.$(this).text() 查找当前的文本内容,用东西存起来

    2.右边的scrollTop()  里面填写 根据左边text值在右边查找到对应的dom元素 然后再读取顶部的距离


    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	  <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    	  <style>
    	  *{padding: 0;margin:0;}
    	  	li{list-style: none;height: 40px; 180px;background-color: #76C825;border: 1px solid #5E606F;box-sizing: border-box;
    	  		text-align: center;line-height: 40px;
    	  		cursor: pointer}
    	  	ul{float: left;background-color: #B7ACAC; 200px;height: 320px;box-sizing: border-box}
    	  .contentnext{
    	  	overflow: scroll;
    
    	  }
    	  .contentnext li,.contentnext p{
    	  	 100px;
    
    	  }
    	  .on{
    	  	background: orange;
    	  }
    	  </style>
    </head>
    <body>
    	<ul class="contentprev">
    		<li>1a</li>
    		<li>2a</li>
    		<li>3a</li>
    		<li>4a</li>
    		<li>5a</li>
    		<li>6a</li>
    		<li>7a</li>
    		<li>8a</li>
    	</ul>
    
        <ul class="contentnext">
    		<li>1a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		
    		<li>2a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>3a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>4a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>5a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>6a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>7a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    		<li>8a</li>
    		<div><p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p><p>sss</p>
    		<p>sss</p>
    		<p>sss</p></div>
    	</ul>
    
    <script>
    	$(".contentprev li").click(function () {
    		var texta=$(this).text();
    		$(this).addClass("on").siblings().removeClass("on");
    	   $(".contentnext").animate({
            scrollTop:$(".contentnext").find("li:contains('"+texta+"')").prop("offsetTop")},100
    		)
    	   console.log($(".contentnext").find("li:contains('"+texta+"')").offset().top)
    
    	   console.log($(".contentnext").find("li:contains('"+texta+"')").prop("offsetTop"))
    	})
    </script>
    </body>
    </html>
    

    二 选项卡切换

    1.$(this).index() 这个可以查询当前的索引 i 
        $(".next li").eq($(this).index()).addClass("on")  找到需要改变class的 li 通过索引改变其样式 
    2.碰到结构不一致的
       在next li 里面 给每个li分别增加index属性,index=0 按照我们理想的顺序。

         $(".next li").filter("[index='"+i+"']").addClass("on");  
       var i=$(this).index();

      在素有的li里面 查找 拥有的属性 和 我们当前的属性一致的 给添加样式.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
            *{margin:0;padding: 0;list-style: none;}
            .wrap{ 600px;height: 400px;border: 1px solid red;margin:100px auto;overflow: }
            .content{ float: left;box-sizing: border-box;
                 150px;height: 30px;background: #ACA9A9;border:1px solid #449556;text-align: center;line-height: 30px;
    
            }
            .con{
                display: none;
    
            }
            .on{
                display: block;
            }
            .flex{
                 400px;
                height: 200px;
                background-color: red;
                display: flex;
                align-items: justify;
                
            }
        </style>
    </head>
    <body>
        <div class="flex">
            <div>aaaa1</div>
            <div>aaaa2</div>
            <div>aaaa3</div>
        </div>
        <div class="wrap">
           <ul class="contt">
            <li class="content">内容提要01</li>
            <li class="content">内容提要02</li>
            <li class="content">内容提要03</li>
            <li class="content">内容提要04</li>
          </ul>
          <ul class="next">
            <li class=" con on" index="0" >内容提要01</li>
            <li class="con" index="1">内容提要02</li>        
            <li class="con" index="2">内容提要03</li>
            <li class="con" index="3">内容提要04</li>
    
        </ul>   
        </div>
        <script>
    $(".contt li").mouseover(function () {
        // console.log($(this).index())
    
        //  $(".next li").removeClass("on")
        // $(".next li").eq($(this).index()).addClass("on")
    
       var i=$(this).index();
    
         $(".next li").removeClass("on")
        $(".next li").filter("[index='"+i+"']").addClass("on")
    
    
     
    
    })
    
    
        </script>
    </body>
    </html>
    

      

     

  • 相关阅读:
    原型设计工具比较及实践
    2020软件工程最后一次作业
    2020软件工程第四次作业
    2020软件工程第三次作业
    2020软件工程第二次作业
    2020软件工程第一次作业
    AJAX
    MY JQUERY NOTES
    2020软件工程最后一次作业
    2020软件工程第四次作业(第二次结对)
  • 原文地址:https://www.cnblogs.com/nice2018/p/9968190.html
Copyright © 2020-2023  润新知