给个思路吧,设装着所有图片的层为boxa,
10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有瑞安免费网站建设让你可以放心的选择与我们合作。
它的父层为boxb,
点击移动的时候你把boxa向左移一张图片的宽度就是了,也就是点击的时候更改boxa的margin-left为负数,
boxb要设置over-flow为hidden
,
boxa要足够长
1、阻止所有能导致页面滚动的事件。//scroll不能阻止,只能阻止mousewheel,鼠标拽滚动条就悲剧了;
2、bodyoverflow:hidden//win下右侧滚动条会消失导致页面横移,移动端阻止不了;
3、把滚动部分单独放在一个div里,和弹出部分同级,body和window同高。//所有涉及offset/scrollTop的方法都要修改。fix并且width100%的元素(比如微博顶栏)会压在内容区滚动条上;
4、弹出时算scrollTop,给内容区fix然后top移动到目前位置,同时body给一个overflow-y:scroll强撑出滚动条。
下面的代码暂不兼容 Webkit(Chrome, Safari),等我再琢磨一下、、、
Javascript 和 jQuery 方法都写了,你只需要更改变量 scroll_width 的值,就是每次移动的长度。
CSS
html {overflow-y: hidden;}
HTML
div style="width: 5000px;"test/div
jQuery
$(function() {
// 设置每次滚动长度,单位 px
var scroll_width = 100;
var scroll_events = "mousewheel DOMMouseScroll MozMousePixelScroll";
$(document).on(scroll_events, function(e) {
var delta = e.originalEvent.wheelDelta || e.originalEvent.detail;
// 滑轮向下滚动,滚动条向右移动,scrollleft+
if(delta 0) {
$("html").scrollLeft($("html").scrollLeft() + scroll_width);
}
// 滑轮向上滚动,滚动条向座移动,scrollleft-
else {
$("html").scrollLeft($("html").scrollLeft() - scroll_width);
}
});
});
Javascript
window.onload = function() {
// 监听鼠标滑轮
var mousewheelevt = (/Firefox/i.test(navigator.userAgent))
? "DOMMouseScroll" : "mousewheel";
if(document.attachEvent) {
document.attachEvent("on" + mousewheelevt, function(e){
mousewheel_event(e.wheelDelta);
});
}
else if(document.addEventListener) {
document.addEventListener(mousewheelevt, function(e){
mousewheel_event(e.detail);
}, false);
}
// 设置每次滚动长度,单位 px
var scroll_width = 100;
function mousewheel_event(delta) {
// 滑轮向下滚动,滚动条向右移动,scrollleft+
if(delta 0) {
document.getElementsByTagName("html")[0].scrollLeft
+= scroll_width;
}
// 滑轮向上滚动,滚动条向座移动,scrollleft-
else {
document.getElementsByTagName("html")[0].scrollLeft
-= scroll_width;
}
}
};
jquery在scroll()事件里面,我想判断当前滚动条横向还纵向;
我开始用全局变量记录scrollTop的值来判断的,如果前后值没有变就是横向滚动了,
但是页面里有多个滚动条,就要多个全局变量来控制,该怎么判断呢?
scroll jquery 区分横向纵向滚动条
解决方法:
each一次设置选择器选中对象的scrollLeft/scrollTop就行了,然后绑定scroll事件,触发的时候获取scrollLeft/scrollTop和初始化的scrollLeft/scrollTop对比判断是横向还是纵向,同时更新对象存储的scrollLeft/scrollTop
style
.c{height:120px;width:120px;overflow:auto;border:solid 1px black;margin-bottom:5px;}
/style
div class="c"111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111/div
div class="c"111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111/div
div class="c"111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111/div
div class="c"111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111br1111111111111111111/div
script src="/js/jquery.js"/script
script
$('div').each(function(){$(this).data('slt',{sl:this.scrollLeft,st:this.scrollTop});}).scroll(function(){
var sl=this.scrollLeft,st=this.scrollTop,d=$(this).data('slt');
if(sl!=d.sl)alert('横向滚动');
if(st!=d.st)alert('纵向滚动');
$(this).data('slt',{sl:sl,st:st});///
})
/script
最近流行的 sogo云输入法, QQ云输入法,都用到了bookmarklet技术。
这篇文章主要介绍了jQuery中even选择器的定义和用法,较为详细的分析了event选择器的语法结构与具体用法,并以一个设置偶数行为蓝色字体的例子总结了其用法与功能特点,需要的朋友可以参考下
晚上有插件可以实现"jquery tab",但有点复杂了,我想写个最简单的,来实现"jquery tab"。而事实上确实很简练
这篇文章主要介绍了JQuery样式操作、click事件以及索引值-选项卡应用,结合实例形式分析了jQuery动态修改css样式、事件响应以及选项卡相关操作技巧,需要的朋友可以参考下
jQuery在遵循W3C规范的情况下,对事件的常用属性进行了封装,使得事件处理在各大浏览器下都可以正常的运行而不需要进行浏览器类型判断
主要是为了往后的项目中方便实现这类型的功能,在之前做问卷调查那个应用中,就用到这个来显示结果,但当时开发时并不用是插件的,一大堆代码,看也烦,用起来很麻烦
jquery动态添加option选项,还有动态删除的方法,大家参考使用吧
qTip2是一个灰常强大且精致的jQuery提示信息插件,是qTip的第2版,也是一个全新的版本,提供了丰富的功能及漂亮的外观,非常易于使用
HTML页面图片横向滚播效果:
htmlheadstylebody{margin:0px;}ul{list-style:none; border:0; padding:0px; margin:0px;}li{list-style:none; float:left; border:0; padding:0px; margin:0px;}img{border:0px; padding:0px; margin:0px;}/style/headbodycenterdiv id="div1" style="overflow:hidden; cursor:hand; margin-top:50px;" onmouseover="stop()" onmouseout="ss()" ul id="img" style="clear:both;"!--放图片的容器,此容器在div1里滚动-- !--以下是要滚动的内容-- liimg id="img0" src="" width="100" height="100" style="display:block;" //li liimg id="img1" src="" width="100" height="100" style="display:block;" //li liimg id="img2" src="" width="100" height="100" style="display:block;" //li liimg id="img3" src="" width="100" height="100" style="display:block;" //li /ul /div/centerscript language="javascript"var w,h,id,speed,Htmlw=400;//-------滚动容器的宽度--------//h=100;//-------滚动容器的高度--------//id="div1";//-------滚动容器的id--------//direction="left";//-------滚动方向有四个值left,right,up,down,自己试试--------//speed="100";//-------滚动速度100相当于1秒,越小越快--------//imgDiv="img";//-------放图片的容器id--------//HtmlL=document.getElementById(imgDiv).innerHTML;HtmlT=document.getElementById(id).innerHTML;switch (direction){case "left": document.getElementById(imgDiv).innerHTML=HtmlL+HtmlL; break;case "right": document.getElementById(imgDiv).innerHTML=HtmlL+HtmlL; break;case "up": document.getElementById(id).innerHTML=HtmlT+HtmlT; break;case "down": document.getElementById(id).innerHTML=HtmlT+HtmlT; break;}function ss(){document.getElementById(id).style.width=w;document.getElementById(id).style.height=h;document.getElementById(imgDiv).style.width=w*2;document.getElementById(imgDiv).style.height=h;var eleele=document.getElementById("div1");switch (direction){case "left":ele.scrollLeft=ele.scrollLeft+5;if (ele.scrollLeft=w){ele.scrollLeft=0;}break;case "right":ele.scrollLeft=ele.scrollLeft-5;if (ele.scrollLeft=0){ele.scrollLeft=w;}break;case "up":ele.scrollTop=ele.scrollTop+5;if (ele.scrollTop=h){ele.scrollTop=0;}break;case "down":ele.scrollTop=ele.scrollTop-5;if (ele.scrollTop=0){ele.scrollTop=h;}break;}t=setTimeout("ss()",speed);}function stop(){document.getElementById("div1").scrollLeft=document.getElementById("div1").scrollLeft;document.getElementById("div1").scrollTop=document.getElementById("div1").scrollTop; clearTimeout(t);}setTimeout("ss()",100);/script/body/htmla href="rul"网站名称/a