<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no" />
<title></title>
<link rel="stylesheet" href="css/reset.css"/>
<link rel="stylesheet" href="css/app.css"/>
<script>document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';</script>
</head>
<body>
<header class="app-header">
<div class="header-left">
<img src="image/header_go_back.png" alt="img"/>
</div>
<div class="header-center">布置作業(yè)</div>
<div class="header-right"></div>
</header>
<!--布置作業(yè)-->
<section class="app-homework-arrange">
<ul class="arrange-header">
<li class="header-item">
<a href="#">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">1.有理數(shù)</span>
<input class="item-right" type="checkbox"/>
</a>
</li>
<li class="header-item">
<a href="#">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">2.整式的加減</span>
<input class="item-right" type="checkbox"/>
</a>
</li>
<li class="header-item">
<a href="#">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">3.一元一次方程</span>
<input class="item-right" type="checkbox"/>
</a>
</li>
<li class="header-item">
<a href="#">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">4.幾何圖形初步</span>
<input class="item-right" type="checkbox"/>
</a>
</li>
<li class="header-item">
<a href="#">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">5.相交線與平行線</span>
<input class="item-right" type="checkbox"/>
</a>
</li>
<li class="header-item">
<a href="">
<img class="item-left" src="image/triangle_right.png" alt="img"/>
<span class="item-center">6.平面直角坐標(biāo)系</span>
<input class="item-right" type="checkbox"/>
</a>
<ul>
<li><span></span>平面直角坐標(biāo)系</li>
<li><span></span>坐標(biāo)方法的簡(jiǎn)單應(yīng)用</li>
<li><span></span>直角坐標(biāo)</li>
<ul>
<li><span></span>平面直角坐標(biāo)系</li>
<li><span></span>坐標(biāo)方法的簡(jiǎn)單應(yīng)用</li>
<li><span></span>直角坐標(biāo)</li>
</ul>
</ul>
</li>
</ul>
<ul class="arrange-body">
<li class="body-item">
<span class="item-left">單選:</span>
<div class="item-right">
<span class="add"></span>
<span class="number">1</span>
<span class="minus"></span>
</div>
</li>
<li class="body-item">
<span class="item-left">多選:</span>
<div class="item-right">
<span class="add"></span>
<span class="number">1</span>
<span class="minus"></span>
</div>
</li>
<li class="body-item">
<span class="item-left">判斷:</span>
<div class="item-right">
<span class="add"></span>
<span class="number">1</span>
<span class="minus"></span>
</div>
</li>
<li class="body-item">
<span class="item-left">填空:</span>
<div class="item-right">
<span class="add"></span>
<span class="number">1</span>
<span class="minus"></span>
</div>
</li>
<li class="body-item">
<span class="item-left">主觀:</span>
<div class="item-right">
<span class="add" id="add"></span>
<span class="number" id="number">1</span>
<span class="minus" id="minus"></span>
</div>
</li>
<li class="body-item">
<span class="item-left">難度:</span>
<select class="item-right" name="" id="">
<option value="容易">容易</option>
</select>
</li>
</ul>
<div class="arrange-footer">
<div class="footer-top">
<div class="top-left">
<span class="left-img"></span>
<span class="left-text">未布置作業(yè)</span>
</div>
<div class="top-right"><span>題型配置</span></div>
</div>
<div class="footer-button app-button">生成作業(yè)</div>
</div>
</section>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function(){
var add = $('.app-homework-arrange .arrange-body .body-item .item-right .add');
var minus = $('.app-homework-arrange .arrange-body .body-item .item-right .minus');
// 封裝前
// add.each(function(){
// $(this).click(function(){
// var number = Number($(this).siblings('.number').html());
// number++;
// $(this).siblings('.number').html(number);
// })
// })
// minus.each(function(){
// $(this).click(function(){
// var number = Number($(this).siblings('.number').html());
// if(number <=1){
// return number =1;
// }
// number--;
// $(this).siblings('.number').html(number);
// })
// })
// 封裝后
function addMinus(obj,target){
obj.each(function(){
$(this).click(function(){
var number = Number($(this).siblings('.number').html());
number+=target;
if(target == -1 && number <= 0){
return number = 1;
}
$(this).siblings('.number').html(number);
})
})
}
addMinus($('.add'),1);
addMinus($('.minus'),-1);
})
</script>
</body>
</html>1 dom元素的id屬性表示唯一性
2 使用事件代理機(jī)制
$('.arrange-body').on("click",".item-right",function(event){
var number=parseInt($(this).find('.number').text(),10);
var plus=0;
if($(event.target).hasClass("add")){
plus=1;
}else if($(event.target).hasClass("minus")){
//執(zhí)行減
plus=-1;
}
$(this).find('.number').text(number+plus);
});jq加事件不用each,多此一舉
function addMinus(option) {
// 上下限
option.max == option.max || Infinity;
option.min == option.min || -Infinity;
$(option.el).click(function(){
// 緩存number元素
var elnumber = $(this).siblings('.number');
var number = Number(elnumber.html());
// 判斷上下限
if (number > option.min || number < option.max) {
number += option.target;
}
// 回調(diào) 到達(dá)最大限度或最小先提醒一下用戶
option.callback && option.callback.call(this,number, option);
elnumber.html(number);
})
}
addMinus({
el: ".add",
target: 1,
max: 5,
callback: function (number, option) {
if (number >= option.max) {
alert("超出最大限")
}
}
});
addMinus({ el: ".minus", target: -1 });我覺(jué)得jQuery代碼不管怎么寫(xiě),看上去都不會(huì)很優(yōu)雅。
能做的就是盡量規(guī)范代碼,然后加上注釋?zhuān)@樣就行了,當(dāng)然你也可以自己封裝插件。
var addNumberHandler = () => {...}
var minusNumberHandler = () => {...}
$('點(diǎn)擊add按鈕的選擇器').click(addNumberHandler); // 點(diǎn)擊“+”
$('點(diǎn)擊minus按鈕的選擇器').click(minusNumberhandler); // 點(diǎn)擊“-”拋開(kāi)其它的不說(shuō),單你封裝那個(gè)函數(shù)就可以簡(jiǎn)化兩三行:
function addMinus(obj, target) {
obj.each(function() {
$(this).click(function() {
var number = Number($(this).siblings('.number').html());
number = target == -1 && number <= 0 ? 1 : number + target;
$(this).siblings('.number').html(number);
})
})
}北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。