广

WordPress教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    使用jQuery让WordPress内容图片宽高按比例调整缩小至合适

    2018-01-21 19:19:27 次阅读 稿源:非官媒
    广告

    WordPress如何限制文章中图片的最大宽度,防止图片“撑破”页面呢?

    相信很多人会选择在CSS中使用 overflow:hidden 和 max-width:600px来限制,但是相信大家也都知道这样做的效果并不太好,今天CMS资源网分享一个通过使用jQuery实现图片按比例调整高度跟宽度的方法。

    我们先看看使用jquery跟CSS控制的区别,看下图:

    使用jquery跟CSS控制的区别

    从上图可以看到,overflow仅仅是隐藏了部分图片,导致图片显示不全;max-width 只是限制的最大宽度,图片压缩变形;而jQuery 却可以等比例调整图片的高和宽,图片没有变形,这就是我们要的效果!

    实现方法一:jQuery代码(荐)

    现在大部分的网站都使用了jQuery库,所以我们只需添加下面的jQuery代码即可实现:
     

    $(document).ready(function() {
       $('.post img').each(function() {
       var maxWidth = 600; // 图片最大宽度
        var maxHeight = 2000;    // 图片最大高度
        var ratio = 0;  // 缩放比例
        var width = $(this).width();    // 图片实际宽度
        var height = $(this).height();  // 图片实际高度
     
        // 检查图片是否超宽
        if(width > maxWidth){
            ratio = maxWidth / width;   // 计算缩放比例
            $(this).css("width", maxWidth); // 设定实际显示宽度
            height = height * ratio;    // 计算等比例缩放后的高度
            $(this).css("height", height * ratio);  // 设定等比例缩放后的高度
        }
        // 检查图片是否超高
        if(height > maxHeight){
            ratio = maxHeight / height; // 计算缩放比例
            $(this).css("height", maxHeight);   // 设定实际显示高度
            width = width * ratio;    // 计算等比例缩放后的高度
            $(this).css("width", width * ratio);    // 设定等比例缩放后的高度
        }
        });
    });

    实际使用时,注意修改 $('.post img') 为你文章内容div容器的class值,以及最大宽度、高度。

    实现方法二:使用纯Javascript代码
     

    <script type="text/javascript">
    function ResizeImage(image, 插图最大宽度, 插图最大高度)
    {
        if (image.className == "Thumbnail")
        {
            w = image.width;
            h = image.height;
     
            if( w == 0 || h == 0 )
            {
                image.width = maxwidth;
                image.height = maxheight;
            }
            else if (w > h)
            {
                if (w > maxwidth) image.width = maxwidth;
            }
            else
            {
                if (h > maxheight) image.height = maxheight;
            }
     
            image.className = "ScaledThumbnail";
        }
    }
    </script>

    实现效果和上面的一样,不需要引用jQuery库,但请设置最大高度和宽度值;而且在发布文章时,要手动给每张图片添加一个 class="Thumbnail"属性。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告