0
我創建了一個非常基本的MVC php應用程序。我將來看到的問題是我在腳註中迴應了Java腳本。Java腳本緩存和PHP
所以問題1 - 這不會被緩存的權利?
所以我採用瞭解決方案,而不是寫一個單一的Java腳本,然後包含功能。然後這些函數接受來自PHP的參數,然後我只是迴應這些函數。例如:
前: 在我的footer.php
<?php
$phpVariableSelector = "#toTop";
echo '$(document).scroll(function(){
var e=$(document).scrollTop();
//console.log("r",e);
if(e>=200)
{
$("'.$phpVariableSelector.'").addClass("in");
}
else
{
$("'.$phpVariableSelector.'").removeClass("in");
}
});
$("'.$phpVariableSelector.'").click(function(e) {
e.preventDefault(), $("html, body").animate({
scrollTop: $("body").offset().top
}, 500)
});'
?>
後:
在,app.js
<script>
function ScrollToTop($linkSelector)
{
$(document).scroll(function()
{
var e=$(document).scrollTop();
if(e>=200)//If scrolled 200
$($linkSelector).addClass("in");
else
$($linkSelector).removeClass("in");
});
$($linkSelector).click(function(e) {
e.preventDefault(), $("html, body").animate({
scrollTop: $("body").offset().top
}, 500);
});
}
</script>
然後在我的footer.php文件:
<script src="app.js"></script>
<?php
echo 'ScrollToTop("#toTop")';
?>
問題2 - 這是正確的方法嗎?還是有更好的解決方案?
是的,我想這樣寫...只是忘了它看來。這只是一個基本的例子來說明我的觀點。選擇器將會/可以在頁面之間改變。好的,謝謝我只是在接受你的答案之前等待一兩天,看看別人怎麼說。 –
由於選擇器會發生變化,因此這是寫入它的正確方法,不僅僅是因爲緩存,而且也不是爲了重複自己,而是在每個頁面中寫入相同的冗餘代碼,以及每當需要更改某些內容時代碼你會改變它在一個地方,而不是所有的網頁。 –