が機能していません。 jsファイルに接続されたインデックスページ。このjsファイルには、データベースからデータを取得するajaxコードが含まれています。 これは私のjsが
$(document).ready(function() {
// getting links from db andshow sub_menu div //
$(".menu_item").mouseover(function(){
$(this).addClass("selected").children().slideDown(500,function(){
var id = $(".selected").attr("id");
var ajax= false;
ajax = new XMLHttpRequest();
var qst = "?id="+id;
ajax.open("GET","ajax/get_sub_cats.php"+qst);
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
$(".sub_menu[title="+id+"]").html(ajax.responseText);
}
}
ajax.send(null);
});
});
// hiding sub_menu div //
$(".menu_item").mouseout(function(){
$(this).removeClass("selected").children(".sub_menu").slideUp(500);
});
// keeping sub_menu div visible on mouse over //
$(".sub_menu").mouseover(function() {
$(this).stop();
});
// clicking sub menu link in the menu //
$(document).delegate("a#subCatLink","click",function(){
alert("test");
});
// document ready end
});
ファイルであり、これは、すべての
:しかし...
は、なぜこのようなものを使用しないでください。画像も不明です。あなたがJSをインクルードするためにAjaxを行うことを含めているように思えます。 HTMLレンダリング部分にエンドツーエンドのPHPを使用するだけではどうですか?あなたはそれが、この省略コードサンプルから言うのは難しいのですが、クラスとしてID( '#のsubCatLink')を使用しようとしているよう最後に、それが見えます。複数のアンカーに '#subCatLink'がある場合は、ページごとにIDのインスタンスが1つしかないので、間違っています。 –
私はあなたの問題の説明に何かが欠けていると思う。それが必要としてあなたのフィドルは、上記のクリックイベントマネージャが含まれていません。 @Greg Pettitが言ったことに+1する。 –
iはjsfiddleコードは、それが問題だ場合、あなたが言うことができるように、目に見えるsub_menuを保つために.stopを()が表示されますか...あなたは '$アヤックス()'メソッドを使用する必要がありませんあなたは既にjQueryのを使用している –