Проблем с javascript кода в един от ефектите ми в сайта

lqbo123

Registered
Здравейте направих си един код с който като се натисне на даден линк се скрива един див който съм му задал и се сменя една картинка ако не е скрито е минус "-" ако е скрито е плюс "+" но имам проблем като се натисне един път на този линк се скрива после като се натисне се показва (ок до тук добре), но след това като се натисни отново само се скрива и веднага показва нещо се бъгва ето на долната картинка съм ви показъл какъв е бъга. Ето ви линк към картинката http://prikachi.com/images/210/2268210T.gif


HTML:
Код:
<li id="categories">
            <a class="skri_log" href="#"><div id="log"></div><h2>Бърз Вход</h2></a>
                                <div class="login">
                                   <form method="post" action="login.php"><table><tbody>
                                      <tr><td>Потребител </td><td><input type="text" name="user" class="user" /></td></tr>
                                      <tr><td>Парола </td><td><input type="password" name="pass" class="pass" /></td></tr>
                                      <tr><td><input type="submit" class="login_sidebar" name="login" value="Влез" /></td><td><input type="reset" value="Изчисти" /></td></tr>
                                   </tbody></table></form></form>
                                   <div class="result"></div>
                                </div>
         </li>


JavaScript:
Код:
$(function(){
   $(".skri_log").click(function(){
        $("#log").hide();
        $("#log").css("background","url('images/h2_logo_plius.png') no-repeat").show();

        $(".login").hide(1250,function(){
            $(".skri_log").click(function(){
                $("#log").css("background","url('images/h2_logo_minus.png') no-repeat").show();
                $(".login").show(1250);
            });
        });
    });
});


Искам да ви попитам още нещо как мога да направа такаче когато потребителя си избере примерно да ли да е скрито или да се показва как може това да се запази и да е така и в другите страници ?
 
за това ,че има проблем мисля че трябва да има някъде проверка, а за това да се запазва мисля че трябва cookies да се ползва, не съм сигурен
 
Ако може това bind и unbind да го добавиш в кода за да вида какво точно имаш предвид защото съм начинаещ в JavaScript кода ?
 
$(function(){


$("#ok").click(function(){
$("body").addClass("hidden");

//Добавяш си в css .hidden и какво да прави ,да приемем ,че скрива.

if($("body").has(".hidden")) {
//Ако е скрито...
alert("OK");
}
else {
//Ако НЕ е...
}
});


});
Не съм много сигурен ,но пробвай.
Когато казах за bind и unbind просто предполагах ,без да видя кода ти.
Изисква jQuery 1.4
 
Ето виж в какво го превърнах но пак същото ако може помогнете:

Код:
$(function(){
    $(".skri_log").click(function(){
    $(document).addClass("hidden");
            $("#log").hide();
            $("#log").css("background","url('images/h2_logo_plius.png') no-repeat").show();
            $(".login").hide(1250,function(){
                if($(document).has(".hidden")) {
                    $(".skri_log").click(function(){
                        $("#log").hide();
                        $("#log").css("background","url('images/h2_logo_minus.png') no-repeat").show();
                        $(".login").show(1250);
                    });
                }
            });
    });
});
 
lqbo123 каза:
Ето виж в какво го превърнах но пак същото ако може помогнете:

Код:
$(function(){
    $(".skri_log").click(function(){
    $(document).addClass("hidden");
            $("#log").hide();
            $("#log").css("background","url('images/h2_logo_plius.png') no-repeat").show();
            $(".login").hide(1250,function(){
                if($(document).has(".hidden")) {
                    $(".skri_log").click(function(){
                        $("#log").hide();
                        $("#log").css("background","url('images/h2_logo_minus.png') no-repeat").show();
                        $(".login").show(1250);
                    });
                }
            });
    });
});
Редактирах си кода.
Не така.
Добави в css нужното ;)

ПП:
Пак го редактирах.
 
Най-добре за това ползваи toggle ефекта на jquery прочети в документацията за него мн лесно ще стане.
 

Back
Горе