JQ编写楼层效果

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<style>
*{margin:0;padding:0;}
header,footer{background:skyblue;height:300px;}
div:nth-child(2){background:yellowgreen;height:500px;}
div:nth-child(3){background:cyan;height:500px;}
div:nth-child(4){background:darkcyan;height:500px;}
div:nth-child(5){background:salmon;height:500px;}
div:nth-child(6){background:wheat;height:500px;}
.tip{
position:fixed;
right:5px;
bottom:5px;
display:none;
}
.tip li{
list-style:none;
width:50px;
height:49px;
border-top:1px solid gray;
text-align:center;
line-height:49px;
background:olivedrab;
color:white;
cursor:pointer;
}
.selected{background:gold !important;}

</style>
</head>

<body>
<header>顶层</header>
<div class="lc">第一层:服装</div>
<div class="lc">第二层:电器</div>
<div class="lc">第三层:化妆品</div>
<div class="lc">第四层:珠宝</div>
<div class="lc">第五层:书籍</div>
<footer>底部</footer>
<div class="tip">
<ul><li>Top</li></ul>
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ol>
<ul><li>Top</li></ul>
</div>
</body>

</html>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
<script>
//绑定楼层与按钮的关系
function Floor(lc,tip){
this.lc = lc;
this.tip = tip;
this.tipUlli = tip.find("ul>li");
this.tipOlli = tip.find("Ol>li");
}
//页面初始化
Floor.prototype.init = function(){
var that = this;
//每个楼层距离顶部的间距
this.arr = this.lc.map(function(ind,elem){
return $(elem).offset().top;
});
var len = this.arr.length;
this.arr.push(this.lc.eq(len-1).height()+this.arr[len-1]);
//给tip中的li绑定事件
//返回顶部
this.tipUlli.click(function(){
$("html,body").animate({"scrollTop":0})
});
//点击Ol中的li
this.tipOlli.click(function(){
$("html,body").animate({"scrollTop":that.arr[ind]});
});
//当滚动条滚动时发生的变化
$(window).scroll(function(){
var st = $(window).srollTop();
var h = $(window).height/2;
//显示
if(st > h){
that.tip.fadeIn();
}else{
that.tip.fadeOut();
}
//判断可视区域显示哪一个楼层
var i=0,a =that.arr,len=a.length-1,ind=-1;
for( ; i<l;i++){
var min = a[i];
var max = a[i+1];
if(min < st+h && st+h < max){
ind=i;
}
}
that.tipOlli.removeClass("selected");
if(ind>-1){
that.tipOlli.eq(ind).addClass("selected");
}
});
}
var f = new Floor($(".lc"),$(".tip"));

</script>

时间: 2024-10-29 04:11:30

JQ编写楼层效果的相关文章

jq实现楼层切换效果

<!DOCTYPE html> <html> <head> <style> * { margin: 0; padding: 0; box-sizing: border-box; } a { color: #000; text-decoration: none; } .list { width: 50px; position: fixed; height: 150px; left: 0; top: 50%; margin-top: -75px; } ul {

jQuery楼层效果

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>jQuery楼层效果</title> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script

js实现楼层效果

今天自己写个楼层效果,有一点烦躁,小地方犯错误.各位大神来修改不足啊!!! <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>楼层切换</title> <style> *{padding: 0;margin: 0;} li{list-style: none;} .main img{width: 85

java编写烟花效果

这是运用java实现的烟花效果 运行环境:eclipse 代码如下: package com.java622p.wenzhi; import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.net.URL; import java.util.Random; /** * 烟花 * @author wenzhi * */ @SuppressWarnings("serial")

今天讲的是JQ 的动画效果

老规矩,先贴代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="js/jquery.js"></script> </head> <style> body{font-family: "微软雅黑";width: 98

用jq实现toas 效果

.需求:1点击立即投保时:如果客户没有勾选协议,自动跳转到 checkbox . 2. 并且提示toast . (因为我是接手之前的项目,用的是JQ,引用了很多公共样式,JS,我这里用框架实现不了toast效果,于是写了一个) 实现效果: 代码:1 需求 html . js 在checkbox判断没有为false时, 执行 window.location.href = '#box'  即可. 需求2 : 1.首先要创建一个div: 2.给这个div添加你想要的文本内容: 3.给当前div设置CS

vue实现京东动态楼层效果

页面效果如下 <template> <div> <h1>首页</h1> <section class="floor-nav" id="floorNavList"> <!-- 左侧楼层 --> <ul class="nav-list"> <li class="nav-list-item" v-for="(item, index)

[锋利的JQ]-超链接提示效果

关键知识点: 1.事件对象:当事件一旦被触发,事件对象便会创立.事件对象只能作用于该事件的事件处理程序. 2.认识了mousemove事件了连续触发执行的特性. 代码: HTML: <div class="box"><a href="javascript:;" class="link" title="超链接的标题,也是要提示的文字">超链接提示效果示例</a></div> Jqu

JQ编写的弹出层

<!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>jquery遮罩层效果</title> <link rel="stylesheet" type="text/css" href="css/demo.css"> <script type="text/javascript"