私のヘッダにすべてのjsスクリプトをロードしていますが、すべて正常に動作しています。しかし、私は1つのjsファイルをインラインでロードする必要がある/特定のページにのみロードします。私のスクリプトをgetScriptを使ってロードする
これは、私はそれが動作します私のヘッダに私の他のスクリプトとそれをロードするが、今、私はjqueryのgetScriptを使用してい
var myScroll,pullDownEl, pullDownOffset, generatedCount = 0;
function pullDownAction() {
setTimeout(function() {
var el, li, i;
el = document.getElementById('newlist');
if (el.hasChildNodes()) {
while (el.childNodes.length >= 1) {
el.removeChild(el.firstChild);
}
}
for (i=0; i<6; i++) {
li = document.createElement('li');
li.innerText = 'Generated row ' + (++generatedCount);
el.insertBefore(li, el.childNodes[0]);
}
myScroll.refresh();
}, 1000);
}
function loaded() {
pullDownEl = document.getElementById('pullDown');
pullDownOffset = pullDownEl.offsetHeight;
myScroll = new iScroll('wrapper', {
//hideScrollbar: false,
//hScrollbar: false, vScrollbar: false, vScroll: false,
useTransition: true,
topOffset: pullDownOffset,
onRefresh: function() {
if (pullDownEl.className.match('loading')) {
pullDownEl.className = '';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
$('#pullDown').css('display', 'inherit');
$('#pullDown').css('display', 'none');
$('#thelist').css('display', 'none');
$('#newlist').css('display', 'inherit');
}
},
onScrollMove: function() {
if (this.y > 5 && !pullDownEl.className.match('flip')) {
pullDownEl.className = 'flip';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Release to refresh...';
$('#pullDown').css('display', 'inherit');
this.minScrollY = 0;
} else if (this.y < 5 && pullDownEl.className.match('flip')) {
pullDownEl.className = '';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
$('#pullDown').css('display', 'inherit');
this.minScrollY = -pullDownOffset;
}
},
onScrollEnd: function() {
if (pullDownEl.className.match('flip')) {
pullDownEl.className = 'loading';
pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Loading...';
pullDownAction();
}
}
});
setTimeout(function() { document.getElementById('wrapper').style.left = '0'; }, 800);
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function() { setTimeout(loaded, 200); }, false);
をロードする必要がJSファイルです。これは、スクリプト(使用して放火犯)をロードするが、私は私のjsの内部関数を呼び出すしようとしたとき、それは私の2つのエラー
プロパティ「offsetHeight」ヌルのを読み取ることができません
メソッドを呼び出すことはできません「リフレッシュを与えるファイル未定義
の「これは私がgetScript
$(document).ready(function() {
$('.email').click(function(){
$.getScript("assets/js/scroll.js",function() {
pullDownAction();
loaded();
});
});
});
を使用して、私のjsのスクリプトを呼び出す方法です
ヘルプ誰も私はあなたがやりたいことよりも、これは多くの作業を提案することができる知っているが、あなたが名前空間をやって試してみました
ネームスペースの汚染のためにちょうどbecareful、私はhttp://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-からjavascriptのこのメソッドを得た1 / – Michael