0

在使用 partials - .load() 函数后,我无法使用 jquery 函数。我尝试了 .val() 和背景图像更改等功能,但没有任何反应。我猜它与 .load() 有一些关系,因为我找不到任何其他原因......也许我必须使用 live func 或其他东西......那是我在主页上的主要 div,我在导航时加载它里面在我的网站上:

<div id="mainContent">
</div>

那是我加载到 mainContent 的另一个页面:

<div id="carNavigation" onload="rentPics()">
<div class="carDivs" id="d1"></div>
<div class="carDivs" id="d2"></div>
<br>
<div class="carDivs" id="d3"></div>
<div class="carDivs" id="d4"></div>
<div class="carHeads" id="mazHead">Mazda</div>
<div class="carHeads" id="toyHead">Toyota</div>
<div class="carHeads" id="porHead">Porsche</div>
<div class="carHeads" id="infHead">Infinity</div>
</div>

这就是我的js代码:

$(document).ready(function() {
    $('#mainContent').css('background-image', 'url(wood.jpg)');
   });

function loadPage(str)
{
    if (str=="Aboutus")
    {
        $('#mainContent').load('aboutus.html');
        $('#mainContent').css('background-image', 'url(familycar.png)');
    }
    if (str=="rentcar")
    {
        $('#mainContent').load('rentCar.html');
        $('#mainContent').css('background-image', 'url(wood.jpg)');
    }
    if (str=="registration")
    {
        $('#mainContent').load('registration.html');
    }
}
function rentPics()
{
    $('#d1').css('background-image','url(familycar.png)');
}

CSS 代码:

/* Rent Car Page Css*/
.carDivs
{
    border: 1px solid black;
    float:right;
    width:200px;
    height:200px;
    border-radius: 65px;
    box-shadow: 0px 0px 15px 15px #FFFFFF;
}
#d1 ,#d2
{
    margin-left: 100px;
    margin-right: 155px;
    margin-top: -120px;
}

#d3, #d4
{
    margin-top: 112px;
    margin-left: 100px;
    margin-right: 155px;
}

#mazHead
{
    margin-left: 235px;
}
#toyHead
{
    margin-left: 683px;
    margin-top: -26px;
}
#porHead
{
    margin-top: 269px;
    margin-right: 87px;
    margin-left: 217px;
}
#infHead
{
    margin-top: 268px;
    margin-left: 260px;
}

.carHeads
{
    display:inline-block;
    font-family: Copperplate, "Copperplate Gothic Light", fantasy;
    font-size: 26px;
    vertical-align:top
}
4

1 回答 1

2

您必须rentPics()在“页面”加载到 DOM 后调用。

像这样的东西:

$.load("url_to_your_page_containing_carNavigation", function () {
   renderPics();
});

第二个参数(函数...)将仅在页面完成加载时调用,因此,何时#d1在 DOM 树中可用。

有关详细信息,请参阅官方$.load 文档

于 2013-11-12T18:12:54.177 回答