javascript - 有没有办法使用 cycle2 根据图像是垂直还是水平调整图像大小?

标签 javascript jquery html css cycle2

我想调整图片大小,使整个图片始终可见,没有滚动条。横向图片应该一直到边缘,而垂直图片应该在边上有一个边距,而且所有图片都应该居中。

所有图像的高度和宽度都略有不同。我只用 4 张图片对其进行了测试,但我稍后计划添加更多图片。

这是我目前所拥有的:

...
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
<script src="js/jquery.cycle2.min.js"></script>
<style type="text/css">
  * {
    padding: 0;
    margin: 0;
  }

  body {
    font-family: sans-serif;
    display: block;
    max-height: 100%;
  }

  img {
    max-width: 100%; max-height: 100%; margin: 0;
  }

  .cycle-slideshow {
    max-width: 100%;
    max-height: 100%;

  }
</style>

<body>
  <div class="cycle-slideshow">
    <img src="photos/NYC_Skyline_Revised.jpg" alt="NYC Skyline Photo">
    <img src="photos/MinionDrawing-1.jpg" alt="NYC Skyline Photo">
    <img src="photos/NYC_Skyline_Daytime.jpg" alt="NYC Skyline Photo">
    <img src="photos/HeavenlySunrise-2.jpg" alt="Sunrise Photo">
  </div>
  <!-- jQuery first, then Tether, then Bootstrap JS. -->
  <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
</body>
...

最佳答案

1) 检查宽度是否大于高度

How to get image size (height & width) using JavaScript?

var img = document.getElementById('imageid'); 
//or however you get a handle to the IMG
var width = img.clientWidth;
var height = img.clientHeight;

2) 要么

How do I auto-resize an image to fit a div container

max-width:100%;
max-height:100%;

或与上面相同的非横向所需的百分比宽度

You can use jQuery$(element).css( "width", "100%"); 去 100% 宽度的容器或浏览器 w/e

关于javascript - 有没有办法使用 cycle2 根据图像是垂直还是水平调整图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45338694/

相关文章:

Javascript、jQuery 模式创建 HTML 文档

jquery - 升级 turbolinks 导致 css 停止加载

html - Firefox 4 - 意外分层?

javascript - 该对象的 key 以什么格式存储? %00*%00_数据

javascript - 按行顺序从表中返回字符串

javascript - jQuery 单击事件影响同一类的所有标签

javascript - 如何制作待办事项列表,并在未选中剩余 0 个元素时显示按钮

javascript - 导航时加载 GIF 图像

javascript - 当文本框在 Javascript 中获得焦点时如何显示按钮

html - 文字装饰 : underline not applying with inline-block span elements