阿贾克斯返回数据后更改div的高度与jquery
我有一个div,它总是与它旁边的div相同的高度(取决于有多少内容加载在该div等)。阿贾克斯返回数据后更改div的高度与jquery
这工作正常,但现在我添加了一个使用jQuery的搜索功能,它停止工作。当我搜索时,jquery计算中使用的元素再次被加载。所以我尝试在ajax回调中添加jQuery代码,但这也不起作用。我该怎么办?
我的代码:
$(window).resize(function() { var contenthoogte = $(".news-content").height();
$(".contenthoogteaangepast").css("height", contenthoogte);
}).resize();
我的HTML:
<div class="col-sm-4 padding-zero contenthoogteaangepast"> <form action="ajax/result.php" id="zoeken">
<div class="zoekveld">
<input class="inputzoek" type="text" placeholder="zoeken..." name="zoekwaarde">
<input class="inputbutton" type="submit" value="Zoeken">
</div>
</form>
<div class="downloads">
<h4>Downloads</h4>
<ul>
<li>
<a href="#">- PDF Voorbeeld 1</a>
</li>
<li>
<a href="#">- PDF Voorbeeld 2</a>
</li>
<li>
<a href="#">- PDF Voorbeeld 3</a>
</li>
</ul>
</div>
</div>
<div class="col-sm-8 padding-zero" id="result">
<div class="box large-width-box-w1 full-width-box news-right entry-content news-content">
<?
if($zoekwaarde != ''){
$zoekresultcon = $conn->query($zoekresult);
while($zoekresult = $zoekresultcon->fetch_assoc()){
$zoekresultaten .= '<div class="zoekresultaat"><h4>'.$zoekresult['title'].'</h4></div>';
}
echo $zoekresultaten;
}else{
?>
<h2 class="port-tit contenttitle"><? echo $content['title']; ?></h2>
<?
//Replace img met img src="cms/ zodat je ook tussen de tekst images kan toevoegen
$replaced = str_replace('img src="','img src="cms/',$content['introtext']);
echo $replaced;
}
?>
</div>
</div>
这是我尝试使用Ajax:
应该改变,即使没有调整画面让我也尝试复制.resize函数外的代码,但这也没有改变任何东西。
回答:
第一件事第一件事。编程时你不应该混用语言。即使是像我这样的土生土长的杜奇,这也是令人困惑的。我已将所有荷兰语单词替换为英语等同物。
就像A.沃尔夫说混合事件是不好的。所以让我们重组一些东西。
首先,我已经删除了窗口大小调整并将其替换为resizeContainer
。此函数处理您的容器的大小调整。该函数也在窗口大小调整事件中调用。
function resizeContainer() { var contentheight = $(".news-content").height();
$(".contentheightaltered").css("height", contentheight);
}
$(window).resize(function() {
resizeContainer()
}).resize();
$("#search").submit(function(event) {
// Stop form from submitting normally
event.preventDefault();
// Get some values from elements on the page:
var $form = $(this),
searchvalue = $form.find('input[name="searchval"]').val(),
url = $form.attr("action");
// Send the data using post
var posting = $.post(url, { searchval: searchvalue });
// Put the results in a div
posting.done(function(data) {
$("#result").html(data);
// Resize the compagnion container AFTER the data has been updated
resizeContainer();
});
});
此方法意味着您不重复代码,而是将其捆绑到一个多次调用的函数中。
回答:
这一个曾与我:
$("#contenthoogteaangepast").on("changeHeight", function() { $(this).height($("#.news-content").height());
});
//inside the callback of the request :
$("#contenthoogteaangepast").trigger("changeHeight");
或尝试:
function func() { $(this).height($("#.news-content").height());
}
//inside the callback of the request :
func();
我没有尝试第二个,但它应该工作。
以上是 阿贾克斯返回数据后更改div的高度与jquery 的全部内容, 来源链接: utcz.com/qa/264275.html