我修改了一个现有的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