Tag: jQuery的

如何对mousewheel,jQuery强制执行“平滑滚动”规则?

你好吗? 我的问题: 如何控制或指定文档滚动到鼠标滚轮所描述的欲望位置和/或抓住滚动条的方式。 我想要的是克服页面滚动的特定默认方法。 当它正在工作时,页面向右跳转到滚轮上每个“凹口”下降的x#像素。 或者直接转到拖动滚动条的位置。 我正在寻找的是jquery的简单扩展,可以应用某些滚动规则。主体很简单。 施加加速度,这将防止页面在没有首先加速的情况下移动得太快。 可设置为以px / sec为单位的速率 – 可选择应用缓动function…页面可以滑动/移动/拖动的最大px /秒。 第三个是减速规则,当页面接近它的目标位置时应用(%,px?)。 这可能必须以多种方式之一来计算,并且可能更棘手。 即,当将最后25个像素滚动到目标位置时,减速度适用。 还有更多…我想要准备的主要问题是确保小页面滚动我们得到充分支持而不是毛病。 可以使用哪种jQuery方法以这种方式控制文档? _kyle 更新:::感谢您关注此问题,如果您是。 好消息。 找到一个很棒的插件,希望可以处理以支持所需的效果,哟! 我已经实现了一个整页容器并使用这个漂亮的jScrollPane脚本来命令你是否要滚动页面http://jscrollpane.kelvinluck.com/fullpage_scroll.html 页面的性能已经有很大差异。 来自滚轮的每个滚动凹口是浏览器原生滚动凹口的三分之一到一半,因此它移动得更慢,这很好,可调节。 不过,我们仍然有页面移动的失速 – 失速 – 失速方法。 我自己写javascript,但更像是我重写它。 我认为需要做的是构建像素的“队列”,沿着页面滚动,总时间复合:然后动画足迹定义并执行为三个阶段,缓和加速,maxscrollspeed阶段和decel相。 任何人都可以就我们的方式提出任何建议 从其滚动页面的本机function中取出mousescrollwheel。 听取mousescroll的缺口; 并且如果存在缺口:初始化核心function以开始页面的移动,还要监听并添加额外的缺口点击以“重新计算”并应用于窗口滚动替换先前的totaldistancetoscroll的“队列”,在计算下一个totaldistancetoscroll之前,它提供了一种预测目的地和减速的方法。 开始运动的核心function不希望重新启动,导致加速时可能发生多次缺口点击,但只应重新计算何时何地减速。 再次抱歉没有发布任何实际的代码,不确定从哪里开始,并希望有人可能知道mwintent是否会为此工作,如果是这样的话:也可能有一些想法如何将减速应用到滚动,这似乎是所需效果与当前插件状态相似的唯一两个区别。

限制用户检查jQuery中的复选框

我有一堆复选框,我想限制用户根据selectbox值检查复选框。 例如,如果用户在selectbox中选择值-3,那么他只能检查3个复选框(任意三个) 演示: 小提琴 HTML 1 2 3 4 5 6 HTML CSS HTML CSS HTML CSS 我怎样才能做到这一点? 请有人帮帮我吗?

.When()和.done()使用带.done的数组

我正在编写一个谷歌内容脚本,我的程序需要向服务器进行大约30次AJAX调用。 我正在使用JQuery的.when函数与.apply一起将数组传递给.when函数。 我也在使用.done,我希望能够传入一个参数数组,这些参数将从.when函数中获取延迟对象。 有没有办法做到这一点? 这就是我想要做的。 var callback = function(a) { console.log(“done”, a); }; var requests = []; var requestArray = []; for(i = 0; i < liclass.length; i++) { requests.push($.ajax({ url: liclass[i], success: function() {; } })); var str = "messageArg" + i requestArray.push(str) } $.when.apply($, requests).done(function(requestArray){ callback(requestArray)});

推迟谷歌地图初始化,直到显示引导标签

我已经研究了很多,似乎很多人在这里遇到了和我一样的问题,但我无法弄清楚如何修复它。 基本上我正在隐藏的bootstrap选项卡中初始化一个谷歌地图。 当我点击药丸使标签可见时,只显示地图的一小部分。 从我收集到的这是因为地图正在隐藏元素中初始化。 所以我需要在标签变得可见之后初始化地图。 我已经尝试过,我已经尝试过,但我无法正确使用代码。 任何帮助都将是宏伟的 – 我如何使地图仅在标签可见后执行? 提前致谢 <div class="tab-pane map-pane" id="map”> function initialize() { var mapOptions = { center: new google.maps.LatLng(22.39813,114.10943), zoom: 8 }; var map = new google.maps.Map(document.getElementById(“map-canvas”), mapOptions); } google.maps.event.addDomListener(window, ‘load’, initialize);

如何使用jQuery手动触发委托事件?

有没有办法用jQuery手动触发委托的事件处理程序? 请参考以下示例代码: ​ $(‘.container’) .on(‘click’, ‘[type=button]’, function(e) { $(e.delegateTarget).find(‘.output’).text($(this).val()); }) .find(‘[type=button]’).triggerHandler(‘click’);​ (在线: http : //jsfiddle.net/TcHBE/ ) 我希望这会起作用,并且文本“Hello”会出现在跨度中,而不会实际点击按钮,但事实并非如此。 我在处理程序中使用e.delegateTarget ,因为除了.ouput中的某个位置之外, .ouput元素不会与按钮处于已知关系。 这就是我首先使用委托事件处理程序的原因。 更新: 我也在使用triggerHandler ,因为事件在我不想触发的实际代码中有默认行为。 (在实际代码中,事件是Bootstrap Modal插件的自定义事件hide ,但实际上我并不想在页面加载时触发事件处理程序时隐藏模态)。 我可以将处理程序提取到一个命名函数中并直接调用它,但由于使用了e.delegateTarget ,这将使构造更复杂。

有没有办法用jquery读出图像的“naturalWidth”?

我尝试过这样的事情: var Height = $(this).naturalHeight; 但它不起作用。 有没有办法做到这一点 greez

在.hide()w / jQuery之前添加延迟

我有一个简单的代码,当鼠标hover在它上面时保持元素可见,并在鼠标移出后隐藏它: $(“.item”).hover( function () { $(this).show(); }, function () { $(this).hide(); } ); 我想在它隐藏之前添加一些延迟,但添加$(this).delay(500).hide(); 似乎不起作用……

带有点击处理程序和滚动条的Google地图信息框

我有一个使用Google Maps javscript API和Infobox插件的应用程序(本机InfoWindow的可自定义版本)。 它工作正常,直到我有以下用例:如果内容很大,我需要一个带滚动条的信息框,并且它还需要包含一些带有点击监听器的HTML元素。 我通常需要做的是支持信息框内的点击处理程序,设置enableEventPropagation = true,并使用jQuery委托来设置点击处理程序。 如果我不允许事件传播,则jQuery委托不起作用。 这工作正常,直到我必须将它与具有正常运行的滚动条组合! 我发现滚动条仅在我有enableEventPropagation = false时才有效,因为如果启用了事件传播,则拖动事件只会传递给地图并被解释为平移。 有谁知道我能做些什么才能在信息框内容上有一个正常运行的滚动条,并且能够在某些内容上设置点击处理程序? 对我来说听起来合乎逻辑的是,enableEventPropagation = false会解决这两个问题,因为我不明白为什么需要将click事件传播到地图以触发我附加到html元素的处理程序。 这是我的信息框的设置对象: { content: “[my html in here]”, disableAutoPan: false, pixelOffset: new google.maps.Size(-77, 10), boxClass: “infoBox”, infoBoxClearance: new google.maps.Size(18, 30), closeBoxMargin: “14px 6px”, pane: “floatPane”, enableEventPropagation: true };

jquery clone select不保留值

我试图克隆一个feildset然后提交输入的内容并选择使用序列化。 它工作正常,但选择不保持其价值。 我已经尝试了几种我找到的方法,但似乎没有任何效果。 以下是我克隆和设置当前数据的方法。 克隆时如何保持select的值? $(‘body’).append(”); var fieldsetName = $this.parents(‘.fieldsetwrapper’); $(‘#form-to-submit’).html($(fieldsetName).clone()); var data = $(‘#form-to-submit’).serialize();

获取我用jQueryhover的元素的ID?

我有一堆看起来像这样的元素: html php sql 我如何获得我hover的id的名称,因此我可以输出类似“你将鼠标hover在html标签上”的内容。 (我想做的不是那么随意,但我确实需要获取用户为了做到这一点而hover的标记的名称。)