スクロール時にオブジェクトのyPosを変更するスクリプトを作成しました。これは私にとっては完璧に機能していますが、ロード時に要素が間違った場所にあるため、ロード時にもコードを実行したいのです。
完全なコードは次のとおりです。
$(document).ready(function(){
$(window).bind("scroll", function(event) {
$(".think:in-viewport").each(function() {
$window = $(window);
$elementOffset = $('.think').offset().top;
console.log($elementOffset);
$('html.no-touch div[data-type="backgroundthink"]').each(function(){
var $bgobj = $(this);
$(window).scroll(function() {
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
});
});
});
});
});
そして、この関数内で私が望む
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
私のページの読み込み時に実行する(rereshなど)
どんな助けでも素晴らしいです
ありがとう
作業コード:
//Viewprt trigger
$(document).ready(function(){
$(window).bind("scroll", function(event) {
$(".think:in-viewport").each(function() {
$window = $(window);
$elementOffset = $('.think').offset().top;
$('html.no-touch div[data-type="backgroundthink"]').each(function(){
var $bgobj = $(this);
var yPos = -(($window.scrollTop() - $elementOffset) / $bgobj.data('speed'));
console.log(yPos);
var coords = '50% '+ yPos + 'px';
$bgobj.css({ backgroundPosition: coords });
});
});
});
});