特定の要素がクリックされたときにスライドダウンする必要があるドロップダウン div があるので、js 関数を作成しましたが、これまでのところ動作しているように見えました。私が使用:before
したこの特定の要素:after
に対して、ドロップダウン div が上下にスライドするかどうかに応じてスタイルを変更する必要がある矢印のような図を作成します。
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);
}
}
PS: 最後にもう 1 つ重要なことがあります。この関数は、HTML スクリプト要素を「エコー」する php エコー関数の内部にあります。そのため、単一引用符のみを使用しました。