programing

jquery In()이 .html()과 함께 작동하지 않는 이유는 무엇입니까?

muds 2023. 10. 23. 22:08
반응형

jquery In()이 .html()과 함께 작동하지 않는 이유는 무엇입니까?

확인란을 클릭하면 메시지가 천천히 사라지기를 바랍니다.

이 예제에서 .fadeIn()이(가) 작동하지 않는 이유는 무엇입니까?

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
        <title>Text XHTML Page</title>
        <link href="css/main.css" rel="stylesheet" type="text/css" media="all"/>
        <script type="text/javascript" src="http://www.google.com/jsapi"></script>
        <script type="text/javascript" src="javascript/main.js"></script>       
    </head>
<body>
    <div class="checkboxList">
        <div class="title">Languages:</div>
        <div class="row"><input class="checkbox" type="checkbox"/><span class="label">Ruby</span></div>
        <div class="row"><input type="checkbox"/><span class="label">PHP</span></div>
        <div class="row"><input type="checkbox"/><span class="label">C#</span></div>
        <div class="row"><input type="checkbox"/><span class="label">Python</span></div>
        <div class="row"><input type="checkbox"/><span class="label">JavaScript</span></div>
    </div>
    <p id="message"></p>
</body>
</html>

자바스크립트:

google.load("jquery", "1.3.2");

//run when page is loaded
google.setOnLoadCallback(function() {

    $('.checkboxList .row').css('color','red');
    $('.checkboxList input').attr('checked', true);
    $('.checkboxList input').bind('click', function() {
        $('#message').html("You clicked on a checkbox.").fadeIn('slow');
    });

});

#message 요소가 보이기 때문에 페이드인을 수행하지 않습니다. 숨긴 다음 내용을 추가하고 페이드인을 수행합니다.

$('#message').hide().html("You clicked on a checkbox.").fadeIn('slow');

이 문제를 분석한 후에, 내가 해결해야 할 것은, 이것이 페이드아웃, html 변경 그리고 페이드인을 사용하는 나의 코드입니다.

$("#div_big_picture").fadeOut('slow',function(){
    $(this).html("<img src='" + str_to_load + "' height='800px' />")
}).fadeIn("slow");

이유는 모르겠지만 전에 이것을 사슬로 묶는 데 어려움을 겪었습니다.덜 우아한 이 코드를 사용하면 원하는 효과를 얻을 수 있습니다.

google.load("jquery", "1.3.2");

//run when page is loaded
google.setOnLoadCallback(function() {

    $('.checkboxList .row').css('color','red');
    $('.checkboxList input').attr('checked', true);
    $('.checkboxList input').bind('click', function() {
        $('#message').hide(); //just in case
        $('#message').html("You clicked on a checkbox.");
        $('#message').fadeIn('slow');
    });

});

언급URL : https://stackoverflow.com/questions/1490563/why-doesnt-jquery-fadein-work-with-html

반응형