JS對父元素和子元素樣式設定及Iframe子頁面裝載
本身JS是弱項,慢慢增加這方面的知識量,遇到自己寫的JS就往這裡面存一下吧!
遇到這樣一個場景:一排按鈕,點選其中一個按鈕需要把當前按鈕標明出來,但是之前的按鈕這個樣式的又要清除掉。於是就用到了啦!
另外將網頁子頁面裝載到iframe裡面去,不能用href直接連線(開啟新頁了),因此用JS處理將子頁直接裝載在iframe裡面,這裡用_href代替啦
下面是HTML程式碼:
<nav class="nav navbar-nav nav-collapse" role="navigation" id="Hui-navbar">
<ul class="cl">
<li class="current"><a href="/">首頁</a></li>
<li><a _href="/LLTReport/" href="javascript:void(0)">核心</a></li>
<li><a href="#">擴充套件</a></li>
</ul>
</nav>
//Iframe
<div id="iframe_box" class="Hui-article">
<div class="show_iframe">
<div style="display: none" class="loading"></div>
<iframe scrolling="yes" frameborder="0" src="/LLTReport/"></iframe>
</div>
</div>
//找到對應的ID控制元件,找下面的CL元素,下面的A元素的點選響應函式。
$("#Hui-navbar").on("click", ".cl a", function () {
Hui_admin_tab(this);
});
然後下面就是幹活的了啦!
function Hui_admin_tab(obj){
if($(obj).attr('_href')){
var bStop=false;
var bStopIndex=0;
var _href = $(obj).attr('_href');
_href += "?" + index++;
var topWindow=$(window.parent.document);
var childs = obj.parentNode.parentNode.childNodes;//獲得爺爺輩的節點
for (var i = childs.length - 1; i >= 0; i--) {//清除所有父節點級所有樣式
childs[i].className = "";
}
obj.parentNode.className="current";//把自己爹樣式設定上
var iframe_box=topWindow.find("#iframe_box");//獲取Iframe
iframe_box.find(".show_iframe").hide().eq(bStopIndex).show().find("iframe").attr("src",_href);//將連線的網頁裝載到Iframe
}
}