私はこの関数を動作させようとしていますが、起動すると$(this)が得られませんでした。私は本当に似たような質問(How to use $(this) in functions?)のように見えるこの質問を見つけましたが、なぜ私の場合に働いていないのか理解できません。
誰かが私を助けることができれば素晴らしいと思います。おかげ
function scrolll(){
var thiss = $(this).attr('id').substring(1);
var pos = $(this).scrollTop();
// var next = Number(thiss) + 1;
// var prev = Number(thiss) - 1;
count = Number(thiss);
if (pos == 0) {
$(".section#s" + (count - 1)).removeClass("inactive", 1500, "linear");
$(this).removeClass("active", 1500, "linear");
var count = Number(thiss) - 1;
}
if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
$(this).addClass("inactive", 1500, "linear");
$(".section#s" + (count + 1)).addClass("active", 1500, "linear");
var count = Number(thiss) + 1;
console.log("countbefore: " + count);
count++;
console.log("countafter: " + count);
}
}
$('.section1').on('scroll', function() {
console.log(thiss)
scrolll($(this));
});
$('.section2').on('scroll', function() {
console.log(thiss)
scrolll($(this));
});
$(this)
ありがとう、それはまさに私が探していたものでした。 - それは動作します。 –