一个js的应用,一个九宫格的位子选取方法,自己想的办法,虽然不是很优秀,要用的时候可以以备不时之需。
选取的页面HTML代码:
<div class="position" style="display: none; position: absolute; top: 517px; left: 617.5px;">
<ul class="area">
<li class="" id="s-1"><a href="#" class="set-position" id="1" >左上</a></li>
<li id="s-2"><a href="#" class="set-position" id="2" >中上</a></li>
<li id="s-3"><a href="#" class="set-position" id="3" >右上</a></li>
<li id="s-4"><a href="#" class="set-position" id="4" >左边</a></li>
<li class="selected" id="s-5"><a href="#" class="set-position" id="5" >中间</a></li>
<li id="s-6"><a href="#" class="set-position" id="6" >右边</a></li>
<li id="s-7"><a href="#" class="set-position" id="7" >左下</a></li>
<li id="s-8"><a href="#" class="set-position" id="8" >中下</a></li>
<li id="s-9"><a href="#" class="set-position" id="9" >右下</a></li>
</ul>
<p class="submit"><button type="button" class="submit" id="chose-position">确定</button></p>
</div>
js的监听方法:
var setPosition = D.getElementsByClassName('set-position'); E.on(setPosition,'click',function(ev){ var newId = this.id; //老的状态值通过class取,郁闷的是有两个,第二个才是:( var oldId = D.getElementsByClassName('selected') [2].id; D.removeClass(oldId,'selected') D.addClass('s-'+newId,'selected'); form.elements['position'].value = this.id; });
var oldId = D.getElementsByClassName('selected')[2].id;
应该写:
var oldId = D.getElementsByClassName('selected','li')[0].id;
效果会好些!