为我的 javascript 添加另一个媒体观点
Add another media viewpoint to my javascript
我是 JavaScript 的新人,需要一些帮助。如果问题措辞有误,请修改以更符合我的问题。
我有一个脚本可以根据浏览器的宽度更改 URL。
我页脚中的代码如下所示:
<script>
jQuery(document).ready(function(){
jQuery( window ).resize(function(ev) {
var w=jQuery( window ).width();
if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
});
jQuery(window).trigger('resize')
})
</script>
上面代码所做的是加载data-nsrc
直到600px,然后加载data-msrc
。
DIV
标签如下所示:
<div data-nsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>" data-msrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'mobile-img', false )[0] ?>" style="background-image: url('<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>')" class="img-right resimgsm">
我的问题是如何向 JavaScript 添加另一个媒体观点?我尝试了下面列出的示例代码,但它没有改变:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
else if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
});
DIV
看起来像:
<div data-lsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'normal', false )[0] ?>" data-nsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>" data-msrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'mobile-img', false )[0] ?>" style="background-image: url('<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'normal', false )[0] ?>')" class="resimgsm">
感谢您的帮助。
您的第一个 if
没有关闭 }
试试这个:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
}else if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
你应该这样写条件:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
}else if(w>600 && w<=768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
请注意,我还修复了括号。无论如何,这就是媒体查询的用途。为什么你需要使用所有这些 js 来做同样的事情?
我是 JavaScript 的新人,需要一些帮助。如果问题措辞有误,请修改以更符合我的问题。
我有一个脚本可以根据浏览器的宽度更改 URL。
我页脚中的代码如下所示:
<script>
jQuery(document).ready(function(){
jQuery( window ).resize(function(ev) {
var w=jQuery( window ).width();
if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
});
jQuery(window).trigger('resize')
})
</script>
上面代码所做的是加载data-nsrc
直到600px,然后加载data-msrc
。
DIV
标签如下所示:
<div data-nsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>" data-msrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'mobile-img', false )[0] ?>" style="background-image: url('<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>')" class="img-right resimgsm">
我的问题是如何向 JavaScript 添加另一个媒体观点?我尝试了下面列出的示例代码,但它没有改变:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
else if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
});
DIV
看起来像:
<div data-lsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'normal', false )[0] ?>" data-nsrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'small-post', false )[0] ?>" data-msrc="<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'mobile-img', false )[0] ?>" style="background-image: url('<?php echo wp_get_attachment_image_src( get_post_thumbnail_id(), 'normal', false )[0] ?>')" class="resimgsm">
感谢您的帮助。
您的第一个 if
没有关闭 }
试试这个:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
}else if(w>600){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
你应该这样写条件:
if (w>768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-lsrc')+"')")
})
}else if(w>600 && w<=768){
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-nsrc')+"')")
})
}else{
jQuery.each(jQuery('.resimgsm'),function(i,el){
jQuery(el).attr('style',"background-image: url('"+jQuery(el).attr('data-msrc')+"')")
})
}
请注意,我还修复了括号。无论如何,这就是媒体查询的用途。为什么你需要使用所有这些 js 来做同样的事情?