zoukankan      html  css  js  c++  java
  • 使用js完成导航栏滑块效果简单阐述

    首先是HTML代码这个主要是class的设置:

    <div class="site-nav">
    	<div class="container">
    		<a class="first">数学</a>
    		<a>语文</a>
    		<a>英语</a>
    		<a>物理</a>
    		<a>化学</a>
    		<div class="nav-marker"></div>
    	</div>
    </div>

    接下来就是css代码,这里主要是对于滑块的position属性的设置。

    .navigation {
    	float: right;
    	font-size: 15px;
    }
    .navigation a {
    	margin-right: 200px;
    }
    .nav-marker {
    	height: 10px;
    	background-color: #8f919e;
    	position: absolute;
    }

    最后就是最主要的js代码。

    $(document).ready(function() {
    	setSlip();
    });
    var setSlip = function() {
    	var navMarker = $(".nav-marker");
    	var navCurrent = $(".site-nav a.first");
    	navMarker.css("left",navCurrent.position().left);
    	$(".site-nav a").mouseenter(function() {	
    		navMarker.stop().animate({
                         $(this).width(),
    			left: $(this).position().left + "px"
    		}, 350);
    	});
    	$(".site-nav a").mouseleave(function() {
    		navMarker.stop().animate({
    			left: navCurrent.position().left + "px"
    		}, 350);
    	});
    
    }

    mouseenter()函数用来指示鼠标进入元素时的操作,也就是鼠标放上去时的操作。

    mouseleave()函数用来指示鼠标离开元素时的操作,也就是鼠标拿开时的操作。

    animate()函数执行CSS属性集的自定义动画,也就是让滑块滑动的函数。

    stop() 函数用来指示为被选元素停止当前正在运行的动画,也就是滑块到了这里就该停了。

    效果图如下:

     

  • 相关阅读:
    PHP-------抽象和接口
    MySQL函数
    MySQL索引
    MySQL语法
    MySQL视图、事务
    最简洁粗暴版的虚拟用户配置FTP
    linux网络bond技术
    CentOS 7服务
    Nginx 基础
    shell 截取指定的字符串
  • 原文地址:https://www.cnblogs.com/LJNAN/p/13025591.html
Copyright © 2011-2022 走看看