这个点击浏览更多的代码有bug,可修复

weixin_43683264 2019-08-16 10:55:36
  <script type="text/javascript">
$(function(){
var slideHeight = 450; // px
var defHeight = $('#wrapone').height();
if(defHeight >= slideHeight){
$('#wrapone').css('height' , slideHeight + 'px');
$('#read-more').append('<a href="#" rel="nofollow" class="show_topic">点击更多↓↓↓</a>');
$('#read-more a').click(function(){
var curHeight = $('#wrapone').height();
if(curHeight == slideHeight){
$('#wrapone').animate({
height: defHeight
}, "normal");
$('#read-more a').html('点击隐藏↑↑↑');
}else{
$('#wrapone').animate({
height: slideHeight
}, "normal");
$('#read-more a').html('点击更多↓↓↓');
}
return false;
});
}
});
</script>


主要问题是,点击后经常不能加载全部内容(有时可以),经常只能加载部分内容,且加载百分比部分都不一样。
效果可以参考网站https://www.posji.tech,点击顶部导航栏目可以看到效果,网站是自适应的,不管是PC还是手机站,都是这个问题。
这个是在网上找的,个人不知道修复,知道修复的可以联系我,或者需要追加多少积分都行
...全文
290 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43683264 2019-08-20
  • 打赏
  • 举报
回复
引用 7 楼 天际的海浪 的回复:
[quote=引用 5 楼 weixin_43683264 的回复:]
[quote=引用 4 楼 百岁如流富贵冷灰 的回复:]
首先有个建议:对于创建的元素绑定事件一般还是用on绑定会好一点
其次你说的问题应该涉及到animate函数的回调事件以及动画的停止stop()方法,就是获取高度的时候动画还没有执行完成所以获取的高度会有异常。个人理解,希望对你有帮助


你说的很对,但是代码我只会拿来主义,不知道修改,所以没办法只有来这里求助。
[/quote]
你看下defHeight的值是#wrapone元素最终的高度吗?
因为defHeight 是在 $(function(){})事件中获取的,在$(function(){})事件中虽然页面上html元素解析完成,但页面上的图片都还没有加载。如果你的<img>中没有设置height,这时获取的#wrapone元素高度是不包含图片高度的。
你将第一行的
$(function(){
改成
$(window).load(function(){
试试
[/quote]

按你说的改了,会导致全部代码无效,直接是就是展开状态
天际的海浪 2019-08-20
  • 打赏
  • 举报
回复
引用 8 楼 weixin_43683264 的回复:
[quote=引用 7 楼 天际的海浪 的回复:] [quote=引用 5 楼 weixin_43683264 的回复:] [quote=引用 4 楼 百岁如流富贵冷灰 的回复:] 首先有个建议:对于创建的元素绑定事件一般还是用on绑定会好一点 其次你说的问题应该涉及到animate函数的回调事件以及动画的停止stop()方法,就是获取高度的时候动画还没有执行完成所以获取的高度会有异常。个人理解,希望对你有帮助
你说的很对,但是代码我只会拿来主义,不知道修改,所以没办法只有来这里求助。 [/quote] 你看下defHeight的值是#wrapone元素最终的高度吗? 因为defHeight 是在 $(function(){})事件中获取的,在$(function(){})事件中虽然页面上html元素解析完成,但页面上的图片都还没有加载。如果你的<img>中没有设置height,这时获取的#wrapone元素高度是不包含图片高度的。 你将第一行的 $(function(){ 改成 $(window).load(function(){ 试试 [/quote] 按你说的改了,会导致全部代码无效,直接是就是展开状态[/quote] 那是你页面上有图片一直没有加载完成。页面一直是“加载中。。。”的状态,load事件就不会触发
天际的海浪 2019-08-19
  • 打赏
  • 举报
回复
引用 5 楼 weixin_43683264 的回复:
[quote=引用 4 楼 百岁如流富贵冷灰 的回复:] 首先有个建议:对于创建的元素绑定事件一般还是用on绑定会好一点 其次你说的问题应该涉及到animate函数的回调事件以及动画的停止stop()方法,就是获取高度的时候动画还没有执行完成所以获取的高度会有异常。个人理解,希望对你有帮助
你说的很对,但是代码我只会拿来主义,不知道修改,所以没办法只有来这里求助。 [/quote] 你看下defHeight的值是#wrapone元素最终的高度吗? 因为defHeight 是在 $(function(){})事件中获取的,在$(function(){})事件中虽然页面上html元素解析完成,但页面上的图片都还没有加载。如果你的<img>中没有设置height,这时获取的#wrapone元素高度是不包含图片高度的。 你将第一行的 $(function(){ 改成 $(window).load(function(){ 试试
前端_小菜鸟 2019-08-19
  • 打赏
  • 举报
回复
if(defHeight >= slideHeight) 如果你的内容比默认高度一样或者小于, 这里面的 = 判断是没意义的 本身在450px的高度就可以显示的完,不需要做下面的操作.应该是获取高度的问题,输出一下看看正常的时候跟不正常的时候高度有什么区别
  • 打赏
  • 举报
回复
首先有个建议:对于创建的元素绑定事件一般还是用on绑定会好一点 其次你说的问题应该涉及到animate函数的回调事件以及动画的停止stop()方法,就是获取高度的时候动画还没有执行完成所以获取的高度会有异常。个人理解,希望对你有帮助
weixin_43683264 2019-08-17
  • 打赏
  • 举报
回复
https://www.posji.tech
可以多点一下,网站顶部导航栏目,就知道我说的是什么情况了。
还有加满分了.......再也加不了了
weixin_43683264 2019-08-17
  • 打赏
  • 举报
回复
引用 1 楼 三岁打酱油 的回复:

if(curHeight == slideHeight){
$('#wrapone').animate({
height: defHeight
}, "normal");
$('#read-more a').html('点击隐藏↑↑↑');
}else{
$('#wrapone').animate({
height: slideHeight
}, "normal");
$('#read-more a').html('点击更多↓↓↓');
}


这里逻辑错了吧,等于450出隐藏。那么大于或者小于都是查看更多了


请问有修改方法吗,这个代码主要还是显示更多的时候,经常不完全显示,显示一半或者怎么样怎么样!
weixin_43683264 2019-08-17
  • 打赏
  • 举报
回复
引用 4 楼 百岁如流富贵冷灰 的回复:
首先有个建议:对于创建的元素绑定事件一般还是用on绑定会好一点
其次你说的问题应该涉及到animate函数的回调事件以及动画的停止stop()方法,就是获取高度的时候动画还没有执行完成所以获取的高度会有异常。个人理解,希望对你有帮助


你说的很对,但是代码我只会拿来主义,不知道修改,所以没办法只有来这里求助。
jio可 2019-08-16
  • 打赏
  • 举报
回复

 if(curHeight == slideHeight){
          $('#wrapone').animate({
            height: defHeight
          }, "normal");
          $('#read-more a').html('点击隐藏↑↑↑');
        }else{
          $('#wrapone').animate({
            height: slideHeight
          }, "normal");
          $('#read-more a').html('点击更多↓↓↓');
        }
这里逻辑错了吧,等于450出隐藏。那么大于或者小于都是查看更多了

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧