js中控制控件显示和隐藏的方法,以及经常用到控制样式的方法
最近开发项目常常很多东西要写在同一个页面,但并不是所有的内容每个页面都需要,这样就要利用逻辑判断在控制显示和隐藏的部分,下面总结下经常用到的方法,以后用到忘记可以翻来看看。
1.js方式控制控件显示和隐藏。值得注意的是JS的window.onload方法块的内容是在JQ的$(function(){})方法块执行完成后,再执行的。
document.getElementById("id").style.display="block";
document.getElementById("id").style.display="none";
2.页面禁用和启用控件的方法。
$('textarea').attr("disabled","disabled");//textarea置灰 标签 文本域禁用
$('input').attr("disabled","disabled");//textbox置灰 文本框禁用
//miniui控件禁用和启用的方法
mini.get("id").disable();//禁用控件
mini.get("id").enable();//启用控件
3.jquery方式控制控件显示和隐藏,以及一些经常用到控制样式的方法和例子。
$("#id").css("display","none");
$("#id").show();//显示
$("#id").hide();//隐藏
//单个属性设置
$("#id").attr("style","color:red");
//多个属性的设置
$("#Avatar").attr({ "class": "banner", "alt": "头像", "src": "http://pic.cnblogs.com/avatar/a118538.jpg?id=11133319" });
alert($("#Avatar").attr("src")); //得到指定标签的属性
$("#id").addClass("banner");//添加样式
$("#id").removeClass("banner");//移除样式
//jquery支持连带写法,因为removeClass的返回结果也是一个Jq对象,所以Jq对象的所有方法和事件它都可以使用
$("#id").removeClass("banner").addClass("bannerOver");
I:下面是一个例子,当在dd标签上单击时,将当前dd块进行高亮显示
<style>
.banner { background: #0094ff; }
.bannerOver { background: #808080; }
.cur { background: #ff6a00; }
</style>
<script>
$(function () {
$('#menu_title').find('dd').click(function () {
$('#menu_title').find('dd').removeClass('cur');
$(this).addClass('cur');
})
})
</script>
<dl id="menu_title">
<dt>人</dt>
<dd>一种高级动物</dd>
<dt>狗</dt>
<dd>人类的朋友</dd>
<dt>猫</dt>
<dd>猫科动物的祖先</dd>
</dl>
II:下面是为表格的隔行变色效果
.odd { background: #808080; }
.even { background: #ffd800; }
.selected { background: #0094ff; color: #fff; }
.hover { background: #808080; }
var $trs = $("#menu_title>dd"); //选择所有行 $trs.filter(":odd").addClass("odd"); //给奇数行添加odd样式 $trs.filter(":even").addClass("even"); //给偶数行添加odd样式
单击行后,让当前行高亮显示
//点击行,添加变色样式
$trs.click(function(e) {
$(this).addClass("selected")
.siblings() .removeClass("selected");
})
III:添加鼠标移入与移出事件
// 鼠标移入 与移出
$("#menu_title>dd").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);

浙公网安备 33010602011771号