我有一個下拉div我需要使某個元素被點擊時向下滑動,所以我寫了一個js函數,至此它似乎工作。對於這個特定的元素,我使用:before
和:after
來創建一個箭頭狀圖,我需要根據下拉div是否滑落或向上來改變樣式。將css樣式應用於javascript調用後的僞元素
function opere_slide(){
ul=document.getElementById('opere');
opere_tag=document.getElementById('opere_tag');
margin=ul.style.marginTop;
if(margin=='0px'){
ul.style.marginTop='-200px';
opere_tag.style.backgroundColor='white';
opere_tag.style.borderBottomColor='#BCD2EE';
}
else{
ul.style.marginTop='0px';
opere_tag.style.backgroundColor='#F8F8F8';
opere_tag.style.borderBottomColor='#E0E0E0';
}
}
這就是爲什麼我添加上述功能,應該建立一個HTML元素的風格,因此應用新的CSS代碼,我需要一個和平。問題是:功能似乎不再工作。
function opere_slide(){
head=document.getElementsByTagName('head')[0];
stylesheet=document.createElement('style');
ul=document.getElementById('opere');
opere_tag=document.getElementById('opere_tag');
margin=ul.style.marginTop;
if(margin=='0px'){
ul.style.marginTop='-200px';
opere_tag.style.backgroundColor='white';
opere_tag.style.borderBottomColor='#BCD2EE';
}
else{
ul.style.marginTop='0px';
opere_tag.style.backgroundColor='#F8F8F8';
opere_tag.style.borderBottomColor='#E0E0E0';
text=document.createTextNode('div#opere_tag:before{border-top:10px solid #E0E0E0;}
div#opere_tag:after{border-top:10px solid #F8F8F8;}');
stylesheet.appendChild(text);
head.appendChild(stylesheet);
}
}
P.S:最後一件事可能是重要的。該功能內置於一個PHP回聲功能「相呼應」的HTML腳本元素..這就是爲什麼我只用單引號。
尼斯不同的箭頭想法,非常感謝..如果我不能得到它的工作可能會使用這個:) – BigCola