今天宠物迷的小编给各位宠物饲养爱好者分享js导航滑动效果的宠物知识,其中也会对那种js特效怎么做,就是那种滑到顶部会固定在顶部,下面的继续滑动的特效进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
判断一下浏览器滚动高度和要固定在顶部的那个元素距离文档顶部的距离,然后**滚动事件,获取滚动的高度,判断滚动高度和获取到的元素距顶部距离,如果相等的时候,让元素固定定位。这样就好了。
写代码太繁琐,原理是这样,你自己试试。
另外,避免出现元素固定定位时,因为突然固定,不占高度导致的页面会跳动一下的问题。可以在固定定位的同时,给后边的元素加上等同于固定定位元素高度的margin-top或者padding-top
另外。再多说一句。个人感觉。网站特效,就是用js控制css,从而得到一些单纯用css写不能实现的效果。所以,遇到类似的效果,可以自己尝试想一下思路,把思路写出来,然后再根据思路,找到自己需要了解的知识点,然后慢慢的效果就出来了
看这个符合不--------------------------------------------------------------
Div+CSS+JS树型菜单,可刷新
<!--
*{margin:0;padding:0;border:0;}
body {
font-family: arial, 宋体, serif;
font-size:12px;
}
#nav {
width:180px;
line-height: 24px;
list-style-type: none;
text-align:left;
/*定义整个ul菜单的行高和背景色*/
}
/*==================一级目录===================*/
#nav a {
width: 160px;
display: block;
padding-left:20px;
/*Width(一定要),否则下面的Li会变形*/
}
#nav li {
background:#CCC; /*一级目录的背景色*/
border-bottom:#FFF 1px solid; /*下面的一条白边*/
float:left;
/*float:left,本不应该设置,但由于在Firefox不能正常显示
继承Nav的width,限制宽度,li自动向下延伸*/
}
#nav li a:hover{
background:#CC0000; /*一级目录onMouseOver显示的背景色*/
}
#nav a:link {
color:#666; text-decoration:none;
}
#nav a:visited {
color:#666;text-decoration:none;
}
#nav a:hover {
color:#FFF;text-decoration:none;font-weight:bold;
}
/*==================二级目录===================*/
#nav li ul {
list-style:none;
text-align:left;
}
#nav li ul li{
background: #EBEBEB; /*二级目录的背景色*/
}
#nav li ul a{
padding-left:20px;
width:160px;
/* padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)*/
}
/*下面是二级目录的链接样式*/
#nav li ul a:link {
color:#666; text-decoration:none;
}
#nav li ul a:visited {
color:#666;text-decoration:none;
}
#nav li ul a:hover {
color:#F3F3F3;
text-decoration:none;
font-weight:normal;
background:#CC0000;
/* 二级onmouseover的字体颜色、背景色*/
}
/*==============================*/
#nav li:hover ul {
left: auto;
}
#nav li.sfhover ul {
left: auto;
}
#content {
clear: left;
}
#nav ul***llapsed {
display: none;
}
-->
#PARENT{
width:300px;
padding-left:20px;
}
我的网站
[url]****netany****[/url]
[url]****netany****[/url]
[url]****netany****[/url]
我的帐务
支付
网上支付
登记汇款
在线招领
历史帐务
网站管理
登录
管理
管理
管理
网站管理
登录
管理
管理
管理
<!--
var LastLeftID = "";
function menuFix() {
var obj = document.getElementById("nav").getElementsByTagName("li");
for (var i=0; i<obj.length; i++) {
obj[i].onmouseover=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
obj[i].onMouseDown=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
obj[i].onMouseUp=function() {
this.className+=(this.className.length>0? " ": "") + "sfhover";
}
obj[i].onmouseout=function() {
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
}
}
}
function DoMenu(emid)
{
var obj = document.getElementById(emid);
obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded");
if((LastLeftID!="")&&(emid!=LastLeftID)) //关闭上一个Menu
{
document.getElementById(LastLeftID).className = "collapsed";
}
LastLeftID = emid;
}
function GetMenuID()
{
var MenuID="";
var _paramStr = new String(window.location.href);
var _sharpPos = _paramStr.indexOf("#");
if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1)
{
_paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length);
}
else
{
_paramStr = "";
}
if (_paramStr.length > 0)
{
var _paramArr = _paramStr.split("&");
if (_paramArr.length>0)
{
var _paramKeyVal = _paramArr[0].split("=");
if (_paramKeyVal.length>0)
{
MenuID = _paramKeyVal[1];
}
}
/*
if (_paramArr.length>0)
{
var _arr = new Array(_paramArr.length);
}
//取所有#后面的,菜单只需用到Menu
//for (var i = 0; i < _paramArr.length; i++)
{
var _paramKeyVal = _paramArr[i].split('=');
if (_paramKeyVal.length>0)
{
_arr[_paramKeyVal[0]] = _paramKeyVal[1];
}
}
*/
}
if(MenuID!="")
{
DoMenu(MenuID)
}
}
GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果
menuFix();
-->
这个,是我自己做了个:
替代Marquee滚动效果
.Mar
{
margin:8px auto;
background: #FFF;
overflow: hidden;
border: 1px dashed #CCC;
width: 800px; /*页面滚动需要显示的宽度*/
}
.Mar img
{
border: 3px solid #F2F2F2;
width: 124px;
height: 93px;
}
.inMar
{
float: left;
width: 3500px; /*能在一行放下所有滚动的图片的总宽度*2 像素值或者百分比*/
}
轿车:1
轿车:2
轿车:3
轿车:4
轿车:5
轿车:6
轿车:7
轿车:8
轿车:9
轿车:10
轿车:11
轿车:12
var speed = 12; //数字越小速度越快
var step = 2;//步进
var nImgWidth = 130;
var div = document.getElementById("Mar");
var div1 = document.getElementById("Mar1");
var div2 = document.getElementById("Mar2");
div2.innerHTML = div1.innerHTML;
function Marquee() {
//向右滚动
//if (div.scrollLeft <= 0)
//div.scrollLeft += div2.offsetWidth
//else {
//div.scrollLeft--
//}
//向左滚动
if(div.scrollLeft%nImgWidth == 0) {//每一张图片就停留,如果要连续就去掉这点代码
div.scrollLeft += step;
step = 0;
window.setTimeout("set(2)", 2000);
}
if (div2.offsetWidth - div.scrollLeft <= 0)
div.scrollLeft -= div1.offsetWidth
else {
div.scrollLeft += step;
}
}
var MyMarquee = setInterval(Marquee, speed);
div.onmouseover = function() { clearInterval(MyMarquee) };
div.onmouseout = function() { MyMarquee = setInterval(Marquee, speed) };
function set(i) {
i = parseInt(i);
step = i;
}
一、原理及实现方法如下: 1、当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY; 2、当触发touchmove事件时,在获取此时手指的横坐标moveEndX和纵坐标moveEndY;最后,通过这两次获取的坐标差值来判断手指在手机屏幕上的滑动方向。 二、注意: 手指在滑动整个屏幕时,会影响浏览器的行为,比如滚动和缩放。所以在调用touch事件时,要注意禁止缩放和滚动。 1.禁止缩放 通过meta元标签来设置。 2.禁止滚动 preventDefault是阻止默认行为,touch事件的默认行为就是滚动。 event.preventDefault()。
截图看一下,没太听明白你的意思,如果路径是对的,单独可以打开,那没理由用链接就打不开啊!
先说下实现的思路: 1 页面布局,一堆等待滚动选择的列表 先实现一个竖排的列表,触屏能滚动,也就是说先不考虑选择的问题 写一个固定高度的盒子 把一堆待选择的列表放里面 触屏滚动大概就实现了 简单代码: ... 2: 滚动选择 第一步监控触屏滚动 onmousedown onmousemove onmouseup 监控鼠标触屏在box里的上下移动距离 也就是说滚动屏幕了多远 然后box scrollTop定位的减去移动的距离也就可以算出当前box距离顶部的距离 例如 mousemove -300px 原来的scrollTop为0 那现在0-(-300)=300px 那么每个li 100px 然后定位当前选中的 li标签 300/100 = 3 当前为选中了 列表中的第三个 3 以上只是提供了一个简单的实现思路 下面是别人的案例你可以看下 大体上就是这种思路实现的 网页链接
这个你可以参考一下对联广告的作法,思路是一样的,只不过淘宝的这个判断了一下滚动的位置,如果导航原来的位置已经被滚动出可见区域,就把它的position样式设为absolute,并计算一下滚动位置,设置top样式进行绝对定位.
javaweb是服务器端程序 用来输出***页(当然服务器端程序不只是有java 还有php和asp)
javascript是网页组成的一部分 (网页组成3大部分html css javascript)
.看出关系了吧
var scrollFunc = function (e) { var direct = 0; e = e || window.event; if (e.wheelDelta) { //判断浏览器IE,谷歌滑轮事件 if (e.wheelDelta > 0) { //当滑轮向上滚动时 alert("滑轮向上滚动"); } if (e.wheelDelta 0) { //当滑轮向上滚动时 alert("滑轮向上滚动"); } if (e.detail
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“那种js特效怎么做,就是那种滑到顶部会固定在顶部,下面的继续滑动的特效”
上一篇
为什么富士康突然停产?