gpt4 book ai didi

jquery - 为什么我看似独立的网页对 jQuery 充耳不闻?

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:12 24 4
gpt4 key购买 nike

我想看看我是否可以将 jsfiddle 的元素放入一个页面中,添加一些必要的东西,然后在我的浏览器中运行它。

顺便说一句,它在 jsfiddle ( http://jsfiddle.net/clayshannon/QCrXG/2/ ) 中工作得很好,但不是作为“裸”html 文件。

我认为,我添加了必要的 html(IOW,jsfiddle 在幕后提供的东西),以及对 CDN jQuery、jQueryUI js 文件和 jQueryUI css 文件的必要引用。

我将 CSS 放在页面的样式部分中。

我将 jQuery 放在脚本部分(包括准备处理程序之前的“插件”代码)。

这是整个页面:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Platypus Criteria example</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<style>
h1 {
color: chocolate;
font-family:'Segoe UI Light';
}
body {
background-color: oldlace;
}
form {
background-color: antiquewhite;
}
legend {
font-family:'Century Gothic', Verdana, Georgia, sans-serif;
font-size: 1.2em;
color: navy;
}
.staticLabel {
display: inline-block;
width: 140px;
margin-right: 2px;
text-align: right;
font-family: Consolas, Candara, sans-serif;
}
.checkboxGroups1Col { width: 200px; margin-bottom: 10px; border: 1px solid chocolate; }
.checkboxGroups2Col { width: 400px; margin-bottom: 10px; border: 1px solid chocolate; }
.checkboxGroups3Col { width: 600px; margin-bottom: 10px; border: 1px solid chocolate; }
.checkboxGroups4Col { width: 800px; margin-bottom: 10px; border: 1px solid chocolate; }
.checkboxGroups5Col { width: 1000px; margin-bottom: 10px; border: 1px solid chocolate; }
label { display: inline-block; width: 200px; }

#dbills, #WebbedFeet {
min-height: 200px;
}
.submitButton {
background-color: SkyBlue;
color: white;
font-size: 1.2em;
margin-top: 15px;
}
</style>
<body>
<h1>Platypus Criteria</h1>
<form>
<fieldset>
<legend>Date Range</legend>
<label for="BeginDate" class="staticLabel">Begin Date</label>
<input id="BeginDate" />
<label for="BeginTime" class="staticLabel">Begin Time</label>
<input id="BeginTime" value="00:00:00" />
<br/>
<label for="EndDate" class="staticLabel">End Date</label>
<input id="EndDate" />
<label for="EndTime" class="staticLabel">End Time</label>
<input id="EndTime" value="23:59:59" />
</fieldset>
<br/>
<label for="UPC" class="staticLabel">UPC Starts with</label>
<input id="UPC" />
<br/>
<br/>
<div id="accordion">
<h3 id="deptHeader">Duckbills (selected: <span>all</span>)</h3>
<div id="dbills" class="checkboxGroups4Col">
</div>
<h3 id="WebbedFeetHeader">WebbedFeet (selected: <span>all</span>)</h3>
<div id="WebbedFeet" class="checkboxGroups4Col">
</div>
</div>
<br/>
<input type="button" class="submitButton" value="Determine dbills and WebbedFeet selected" id="submitButton" />
</form>
</body>
<script type="text/javascript">
(function ($) {
$.fn.extend({
appendAllCheck: function () {
var selectors = $('<div class="selectors"></div>').appendTo(this)
.append('<button>Select all</button><button>Deselect all</button>');
selectors.find('button').click(function () {
var checked = $(this).text() == 'Select all';
$(this).closest('.selectors').parent()
.find('[name]:checkbox').prop('checked', checked);
$(this).prop('checked', false);
return false;
});
return this;
},
appendCheckboxes: function (name, labels, props) {
var container = this;
$.each(labels, function (i, l) {
var label = $.isPlainObject(labels) ? i : l,
value = $.isPlainObject(labels) ? l : i;
$('<label>').append(
$('<input>', {
'type': 'checkbox',
'name': name
}).val(value).prop(props||{}),
label).appendTo(container);
});
return this;
},
checkedBoxes: function () {
return this.find(':checked').map(function () {
return $(this).parent().text();
}).get();
}
});
})(jQuery);

$(function() {

var dbillsArray = [];
for (var i = 2; i < 100; i++) {
dbillsArray.push(i);
}

var WebbedFeetArray = [];
for (var i = 1; i < 7; i++) {
WebbedFeetArray.push(i);
}

$('#BeginDate, #EndDate').datepicker();
$('#accordion').accordion();
$('button').button();
$('#dbills').appendAllCheck().appendCheckboxes('dbillsCheckboxList', dbillsArray, {
checked: true
});
$('#WebbedFeet').appendAllCheck().appendCheckboxes('WebbedFeetCheckboxList', WebbedFeetArray, {
checked: true
});
$('#submitButton').click(function() {
dbillsList = $('#dbills').checkedBoxes();
$('#deptHeader span').html(dbillsList.join(", "));
WebbedFeetList = $('#WebbedFeet').checkedBoxes();
$('#WebbedFeetHeader span').html( WebbedFeetList.join(", "));
return false;
});
});
</script>
</html>

这有可能奏效吗?如果是这样,我遗漏了什么或弄错了什么?

另外:为什么页面加载这么慢?

更新

这种工作方式对于小型“小程序”或实用程序(“快速而肮脏”的东西)似乎很方便,无需部署到服务器即可运行;即使您需要使用未托管在 CDN 上的 .js 文件,您也可以简单地保存它的本地副本并像这样引用它:

<script src="checkboxplugin.js"></script>

(此示例假定 .js 文件和 .html 文件作为“ sibling ”并排存在于同一文件夹中)。

最佳答案

有几件事。
如果您不使用网络服务器而是直接在浏览器中打开文件,则需要更改:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

并且您应该在文件底部添加脚本标签 BEFORE 结束 </body>标签,而不是在它之后,样式标签应该在 <head> 内标签,即在结束前 </head>标签。

关于jquery - 为什么我看似独立的网页对 jQuery 充耳不闻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17886509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com