2

ホバーされているときに画像をリンクに変更するスクリプトに取り組んでいます。

ただし、リンクをクリックすることはできません。カーソルがポインタに変わり、ブラウザの左下にリンクが表示されますが、クリックしても何も起こりません。

他のブラウザではなく、Firefoxで動作するようです。ただし、マウスを右クリック->[新しいタブで開く]は機能します。

これが私のコードです:

<script type="text/javascript"><!--
var guesta='<a href="<?php $menu = JSite::getMenu();$alias = $menu->getItem(115)->alias;echo $alias; ?>"><?php $menu = JSite::getMenu();$title = $menu->getItem(115)->title;echo $title; ?></a>';


function guest1(){
document.getElementById('guest1').innerHTML=guesta;
document.getElementById('guest1').style.background ='#01afae';
}
function guest1empty(){
document.getElementById('guest1').innerHTML='<img src="image.png" />';
document.getElementById('guest1').style.background ='#fdfdfd';
}
//-->
</script>
<style type="text/css">
.guest {
    width:70px;
    height:100px;
    background-color: #fdfdfd;
    color: #fdfdfd;
    text-align: center;
}
.guest a:link, .guest a:visited {
    color: #fdfdfd;
    text-decoration: none;
    line-height: 15px;
}
</style>
</head>

<body>
<div id="guest1" class="guest" onMouseOver="guest1()" onMouseOut="guest1empty()"><img src="image.png" /></div>

リンク内のPHPコードは、Joomlaからメニュー項目のエイリアスとタイトルを取得するためのものです。

助けてくれてありがとう!

よろしく、
ジェローム

4

1 に答える 1

0

document.createElement("IMG") と document.createElement("A") を使用して実際に要素を作成することをお勧めします。これは、要素が適切に作成されることを知る最も確実な方法です。しかし、これは私にはあまり実用的なアプローチとは思えません。そもそもなぜ画像をリンクにしないのでしょうか? ホバー状態が前後に変わるのはなぜですか? 最後に、Joomla の戻り値の内容をエコーアウトして、内容が確実に返されるようにしてみましたか? フレームワークは非常に複雑な場合があるため、エラーが発生している正確な場所を特定するのが難しい場合があります。我々に教えてください!

于 2012-10-22T13:03:59.860 に答える