0

と に問題がonClickありonMouseOver、純粋な JavaScript を使用して解決しようとしています。

image1カーソルが表示されたときに2つの画像がimage2あり、これimage2には で呼び出される関数がありonClick()ます。

IDを変更して画像を表示/非表示にする関数を使用しています(CSSを使用)

function show()
{
    document.getElementById('ferramenta1').id='ferramenta100';
}

function hide()
{
    document.getElementById('ferramenta100').id='ferramenta1';  
}
<!-- image 1 -->

<img src="imagens/favNulo.png" onMouseOver="show()" onMouseOut="hide()" id="favorito1" title="Favorito n°1" style="cursor:pointer;"/>

<!-- image 2 -->
<img src="imagens/ferramentaFavoritos.png" onClick="editarTelaFav()"  onMouseOver="show()"  id="ferramenta1" title="Editar favorito n°1" style="cursor:pointer"/>   

画像は正しく変更されますが、onClick機能しません。

StackOverflow でこれに似た投稿をいくつか見つけましたが、どちらも jQuery なしでは解決されません。

編集: onclick コード

function editarTelaFav() {
   var fer1 = document.getElementById("ferramenta1").id;

   if (window.event.srcElement.id == fer1) {
     window.open('favoritoNumero1.jsp','','left=50%,top=50%,height=600,width=800');
   }
 }
4

2 に答える 2

0

css からのホバーを使用して画像を変更すると、1 つの JavaScript コマンドで終わる可能性があります。あなたのCSSで

#hoverchange  a {
width:64px;
height:64px;
background-image: url(imagens/favNulo.png);
display:block;
}

#hoverchange  a:hover {
background-image: url(imagens/ferramentaFavoritos.png);
}

幅と高さは、画像の幅と高さでなければなりません。

そしてあなたのhtmlで

<div id="hoverchange">
<a href="#!" onClick="editarTelaFav()"></a>
</div>
于 2013-02-08T15:09:39.387 に答える
0

このビットのロジックは決して 1 を返しません

if(window.event.srcElement.id == fer1){ code=1; }

表示するたびにIDを「ferramenta100」に変更するため

document.getElementById('ferramenta1').id='ferramenta100';

そのステートメントが何をif意味するのか理解できません。それを削除すると、正常に機能するので、次のようにします。

function editarTelaFav(){ 

window.open('favoritoNumero1.jsp','','left=50%,top=50%,height=600,width=800'); 
} 
于 2013-02-08T15:02:53.197 に答える