我修改了一個現有的JSFiddle並將其分開。我正在嘗試將此代碼翻譯成MVC應用程序中的.cshtml。我讀過類似這樣的問題,這表明問題正在發生,因爲人們沒有使用Onload或$ document.ready()。我不相信我的情況就是這樣。如何使JSFiddle中的代碼適應瀏覽器的工作?
我的文檔的頭部看起來是這樣的:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/start/jquery-ui.css" />
<link rel="stylesheet" href="~/CSS/slider.css" />
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
@*<script src="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js"></script>*@
的CSS是一個外部文件,看起來喜歡這樣的:
.slide {
margin-top: 20px;
margin-left: 20px;
width: 400px;
background: red;
}
.slide-back {
position:absolute;
height:100%;
}
爲$的document.ready的JavaScript代碼()是如下。
<script>
$(document).ready(function() {
var doUpdate = function (event, ui) {
alert('doUpdate1'); //This fires.
$('#slide1 .slide-back').remove();
$($('#slide1 a').get().reverse()).each(function (i) {
var bg = '#fff';
if (i == 1) {
bg = '#00f';
} else if (i == 2) {
bg = '#0f0';
} else if (i == 3) {
bg = '#f00';
} else if (i == 4) {
bg = '#0ff';
}
$('#slide1').append($('<div></div>').addClass('slide-back').width($(this).offset().left - 5).css('background', bg));
});
};
$('#slide1').slider({
slide: doUpdate,
change: doUpdate,
min: 0,
max: 1000,
values: [200, 500, 800]
});
doUpdate();
});
</script>
我試過把這段代碼放在頁面的頭部和身體部分。每次頁面加載時,都會觸發警報,但是當滾動條出現時,它是正常的灰色,滑塊上只有一個旋鈕。在JSFiddle中,彩色滑塊上有三個旋鈕。
我想我可能已經錯過了對JQueryUI的引用,所以我將它添加到了我的頭上。
<script src="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js"></script>
這隻會讓事情變得更糟。當我有那裏,我得到一個空白頁面,在控制檯中沒有錯誤。我不知道我還需要什麼。誰能告訴我我要去哪裏?
JSFiddle可以找到Here。
你可以發佈[mcve]嗎? – evolutionxbox