代码之家  ›  专栏  ›  技术社区  ›  Rich Bradshaw

jquery淡入Ajax加载的DIV不平滑

  •  1
  • Rich Bradshaw  · 技术社区  · 15 年前

    在本地运行以下内容时,淡入非常顺利,但在远程服务器上,加载到目标DIV的内容会出现,立即隐藏,然后再次淡入。

    为什么会发生这种情况?我该如何解决?

    我的jquery(在document.ready文件中)如下所示:

    $(".dataclick").click(function()
    {
        $('.clicktarget').hide().load($(this).attr("href")).fadeIn("slow");
        return false;
    });
    

    我的HTML如下所示:

            <ul>
                <li><a class="dataclick" href="/data/lameness.html">Lameness Investigations</a></li>
                <li><a class="dataclick" href="/data/xrays.html">Xrays &amp; Ultrasonography</a></li>                               
                <li><a class="dataclick" href="/data/shockwave.html">Shockwave Therapy</a></li>
                <li><a class="dataclick" href="/data/prepurchase.html">Pre-Purchase Examinations</a></li>
                <li><a class="dataclick" href="/data/vettings.html">Vettings</a></li>                               
                <li><a class="dataclick" href="/data/reproduction.html">AI &amp; Full Reproductive Service</a></li>
                <li><a class="dataclick" href="/data/endoscopy.html">Endoscopy</a></li>
                <li><a class="dataclick" href="/data/acupuncture.html">Acupuncture</a></li>
                <li><a class="dataclick" href="/data/dentistry.html">Full Dentistry Service</a></li>
                <li><a class="dataclick" href="/data/castration.html">Castrations</a></li>                              
                <li><a class="dataclick" href="/data/gastroscopy.html">Gastroscopy</a></li>
                <li><a class="dataclick" href="/data/ridingschool.html">Riding School Inspection</a></li>
                <li><a class="dataclick" href="/data/24hremergency.html">24hr Emergency Service</a></li>                                
            </ul>
    
            <p>For more information on each service please click the relevant title/link.</p>
            </div>
    
            <div class="clicktarget">
            </div>
    
    1 回复  |  直到 12 年前
        1
  •  5
  •   James    15 年前

    您不希望在加载内容之前开始淡入淡出,因此应将回调传递给 .load() :

    $(".dataclick").click(function() {
        $('.clicktarget').hide().load($(this).attr("href"), function(){
            $(this).fadeIn("slow");
        });
        return false;
    });