javascript - 多图片src路径切换

标签 javascript jquery html angularjs

目前,我的应用程序中的所有 HTML 文件都具有指向某个目录的硬编码相对图像路径。例如

<img src="projectA/style/images/Preferences.png"/>

现在,我计划在两种项目模式“Mode-1”和“Mode-2”之间切换。根据当前事件模式,我需要切换图像的 src 路径(图像名称相同,只是需要更改路径)。

如何编写可配置的 src 路径,这将使我能够将目录切换到某个预定义的路径,而不必每次都更改 HTML。

例如

当事件模式为:“Mode-1”时

<img src="projectA/style/images/Preferences.png"/>

当事件模式变为:“Mode-2”时

<img src="projectB/files/newStyle/images/Preferences.png"/>

我已准备好更改所有 HTML 文件一次。

我在我的应用程序中使用 jQuery 和 AngularJS。

最佳答案

这是一种 Angular 的方法:

var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', ['$scope', function($scope) {
  $scope.mode = {};
  $scope.modesImg = [{
    mode: 1,
    url: 'http://a.amz.mshcdn.com/media/ZgkyMDEyLzEyLzA0L2QwL2NhdC5jNEEKcAl0aHVtYgkxNTB4MTUwIwplCWpwZw/4d610ee3/6a7/cat.jpg'
  }, {
    mode: 2,
    url: 'http://ihavecat.com/wp-content/uploads/2016/10/FullSizeRender-8-150x150.jpg'
  }];
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="MyCtrl">
    <div ng-repeat="m in modesImg">
      <input type="radio" ng-model="mode.selected" ng-value="m.mode"/> Mode {{m.mode}}
    </div>

    <img ng-src="{{modesImg[mode.selected - 1].url}}"/>
  </div>
</div>

JSFiddle demo在这里,比代码片段更具可读性。

<小时/>

这里的优点是您可以非常轻松添加模式,只需在数组中推送更多项目即可。

关于javascript - 多图片src路径切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41123287/

相关文章:

javascript - 如何每天在 11 :00pm 在 Node js 中运行 API GET 调用

c# - 如何获取我的 Canvas 的快照

jquery - 切换添加不显示?

javascript - 使用jquery根据用户点击的链接id动态创建文件路径

javascript - 从 Javascript 数组填充 HTML 表

javascript - Chrome 扩展程序页面操作未显示在多功能栏旁边

javascript - FabricJS 将 SVG 导入 Canvas 而不渲染

javascript - 使用 CSS 样式化 SVG 图像

javascript - 防止 JQuery 加载时出现错误 503

jquery - 使DIV标签均匀