22

任意のデルタでスクロール ホイール イベントをトリガーする方法はありますか。jQueryが「クリック」で行うのと同じように:

$('#selector').trigger('click');

次のようなスクロールホイールを使用するだけで、そのようなものが必要です。

$('#selector').trigger('DOMMouseScroll',{delta: -650});
//or mousewheel for other browsers

css のトリックで「偽物」のようなことはできません。実際のネイティブ (またはできるだけ近い) イベントをトリガーする必要があります。

ありがとうございました!

4

9 に答える 9

1

jQuery.Event を使用する必要があります。例:

// Create a new jQuery.Event object with specified event properties.
var e = jQuery.Event( "DOMMouseScroll",{delta: -650} );

// trigger an artificial DOMMouseScroll event with delta -650
jQuery( "#selector" ).trigger( e );

詳細はこちら: http://api.jquery.com/category/events/event-object/

于 2014-04-01T20:50:07.130 に答える
-1

あなたが何かを書いた場合、これはスクロール機能を呼び出します

$(window).scroll();
于 2013-08-31T16:16:14.957 に答える
-2

これを試しましたか?http://jquerytools.org/documentation/toolbox/mousewheel.html 「マウスホイールを制御する」プラグイン:)

于 2013-10-23T10:54:58.147 に答える
-3

試す:

.trigger("mousewheel", {wheelDelta: 100})

(完全にテストされていません。divの上でスクロール ホイールにバインドすることに触発されました)

于 2012-02-23T16:22:22.707 に答える
-5

こんにちは、イベントリスナーを追加することでそれを行うことができます。私は同じものを検索し、以下のコード スニペットを取得しましたが、動作しています。同じ要件があることを確認してください


<html>
<head>
<title>Mouse Scroll Wheel example in JavaScript</title>
 <style>
 #scroll {
 width: 250px;
 height: 50px;
 border: 2px solid black;
 background-color: lightyellow;
 top: 100px;
 left: 50px;`enter code here`
 position:absolute;
 }
 </style>
 <script language="javascript">
 window.onload = function()
 {
//adding the event listerner for Mozilla
if(window.addEventListener)
    document.addEventListener('DOMMouseScroll', moveObject, false);

//for IE/OPERA etc
document.onmousewheel = moveObject;
 }
function moveObject(event)
{
var delta = 0;

if (!event) event = window.event;

// normalize the delta
if (event.wheelDelta) {

    // IE and Opera
    delta = event.wheelDelta / 60;

} else if (event.detail) {

    // W3C
    delta = -event.detail / 2;
}

var currPos=document.getElementById('scroll').offsetTop;

//calculating the next position of the object
currPos=parseInt(currPos)-(delta*10);

//moving the position of the object
document.getElementById('scroll').style.top = currPos+"px";
document.getElementById('scroll').innerHTML = event.wheelDelta + ":" + event.detail;
}
</script>
</head>
<body>
Scroll mouse wheel to move this DIV up and down.
<div id="scroll">Event Affect</div>
</body>
</html>
------------------------------------------------------------

デルタ変数に基づいて、独自のカスタム機能を作成できます。

HTML 5ではマウススクロールイベントが処理されていますが、その方法でも試すことができます

于 2013-10-29T07:59:54.053 に答える
-5
this.trigger("mousewheel", {intDelta:0, deltaX:0, deltaY:0});

実際、これはよりうまく機能します:

this.trigger("mousewheel", [0])
于 2012-03-22T18:57:12.423 に答える