【问题标题】:Images don't load in html图像不会在 html 中加载
【发布时间】:2011-03-24 09:45:30
【问题描述】:

我正在使用 ajax 加载新的 HTML/JS 内容并将其附加到某个 div 块

问题是新的(接收的)代码包含一些图像标签,加载后它们不可见。当我直接复制图像的地址并检查它们时 - 一切都很好。

例如,在接收到的代码中有:

<img srс="http://capitalpay.co.uk/images/vending/1.png" />

图片直接加载很好,但请查看示例页面here

它不可用。也许我必须使用 JS 在收到的代码中预加载图像?


UPD

$.post('loadPage.php', {page: currentPage}, function(data) {
  $('#TextInside').html(data);
});

UPD2

回复:

<H2>Vending machine</H2>
The vending machine is designed to serve the participants in the system with the possibility of receiving and issuing banknotes.<br />

With the help of party system can:<br />
<p>
- Make purchases at any online store<br />
- Provide additional services and services provided by the system
</p>

With the help of an agent system can:<br />
<p>
- Register participants in the system<br />
- Make purchases at any online store<br />
- Provide additional services and services provided by the system.
</p>

<img srс="http://capitalpay.co.uk/images/vending/1.png" style="width: 50%; height: 50%" />

<div id="pageContainer" style="margin: 0 auto; width: 90%">
  <!-- Slideshow HTML -->
  <div id="slideshow">
    <div id="slidesContainer">
      <div class="slide">
        <h2>Web Development Tutorial</h2>
        <p><img srс="http://capitalpay.co.uk/images/vending/1.png" style="width: 50%; height: 50%" />
If you're into developing web apps, you should check out the tutorial called "<a href="http://sixrevisions.com/tutorials/web-development-tutorials/using-xampp-for-local-wordpress-theme-development/">Using XAMPP for Local WordPress Theme Development</a>" which shows you how to set up a local testing server for developing PHP/Perl based applications locally on your computer. The example also shows you how to set up WordPress locally!</p>
      </div>
      <div class="slide">
        <h2>Grunge Brushes, Anyone?</h2>
        <p><img srс="http://capitalpay.co.uk/images/vending/2.png" width="516" height="305" />In this layout, I used <a href="http://sixrevisions.com/freebies/brushes/sr-grunge-free-high-resolution-photoshop-grunge-brushes/">SR Grunge</a>, which is a free set of high-resolution Photoshop brushes you can download here on Six Revisions.</p>
        <p> 
      </div>
      <div class="slide">
        <h2>How About Some Awesome Grunge Textures?</h2>
        <p><img srс="http://capitalpay.co.uk/images/vending/3.png" width="516" height="305" />The texture used in this web page is from the Grunge Extreme Textures freebie set by JC Parmley released here on Six Revisions.</p>
        <p>You can head over to the <a href="http://sixrevisions.com/freebies/textures/grunge-extreme-15-high-resolution-grunge-textures/">Grunge Extreme</a> page to download the texture set or check out Six Revisions' <a href="http://sixrevisions.com/category/freebies/">freebie section</a> for even more goodies!</p>
      </div>
      <div class="slide">
        <h2>'Tis the End, My Friend.</h2>
        <p><img srс="http://capitalpay.co.uk/images/vending/4.png" width="516" height="305" />This is the last slide. Hit the left arrow control to go back to the other slides.</p>
        <p>Alternatively, you may want to check out the tutorial on how to create a simple and cool button in Photoshop called &quot;<a href="http://sixrevisions.com/tutorials/photoshop-tutorials/how-to-create-a-slick-and-clean-button-in-photoshop/">How to Create a Slick and Clean Button in Photoshop</a>&quot; which was inspired by the <a href="http://www.campaignmonitor.com/designer/?utm_source=sixrevisions&amp;utm_medium=banner&amp;utm_term=2&amp;utm_content=0003&amp;utm_campaign=Apr09Banners">Campaign Monitor</a> web interface.</p>
      </div>
    </div>
  </div>
  <!-- Slideshow HTML -->
</div>
<script language="javascript">
$(document).ready(function(){
  var currentPosition = 0;
  var slideWidth = 650;
  var slides = $('.slide');
  var numberOfSlides = slides.length;

  // Remove scrollbar in JS
  $('#slidesContainer').css('overflow', 'hidden');

  // Wrap all .slides with #slideInner div
  slides
    .wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
    .css({
      'float' : 'left',
      'width' : slideWidth
    });

  // Set #slideInner width equal to total width of all slides
  $('#slideInner').css('width', slideWidth * numberOfSlides);

  // Insert controls in the DOM
  $('#slideshow')
    .prepend('<span class="control" id="leftControl">Clicking moves left</span>')
    .append('<span class="control" id="rightControl">Clicking moves right</span>');

  // Hide left arrow control on first load
  manageControls(currentPosition);

  // Create event listeners for .controls clicks
  $('.control')
    .bind('click', function(){
    // Determine new position
        currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
    
    // Hide / show controls
    manageControls(currentPosition);
    // Move slideInner using margin-left
    $('#slideInner').animate({
      'marginLeft' : slideWidth*(-currentPosition)
    });
  });

  // manageControls: Hides and Shows controls depending on currentPosition
  function manageControls(position){
    // Hide left arrow if position is first slide
    if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
    // Hide right arrow if position is last slide
    if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
  } 
});
</script>

UPD

是的,问题出在src。拉丁文“c”和西里尔文“c”在键盘上是同一个键。只是输入错误。

【问题讨论】:

  • 你能发布你的ajax方法吗?
  • @sharpner 我想他在问他如何检查图像是否存在然后加载,如果图像不存在,则加载未找到的图像。
  • @experimentx 不,不,图像仍然存在,加载后不显示。
  • @experimentX 我不这么认为,我认为问题是当他通过ajax加载图片时图片不可见
  • 其他内容是否显示在 div 容器中?

标签: javascript html image preloading


【解决方案1】:

当您将代码加载到页面中时,无需预先加载图像。

使用 AJAX 在页面中包含代码不是问题。 html代码本身有问题。

如果您将该图像标签直接放在网页中,它也不会加载:http://jsfiddle.net/fNNG8/

img 标签中的src 中的c 有点奇怪。如果你只是删除它并写一个新的,它可以正常工作。

【讨论】:

  • 绝对$('#TextInside').html('&lt;img src="images/vending/1.png" style="width: 50%; height: 50%" /&gt;'); 工作正常,但他的版本&lt;img srс="images/vending/1.png" 不工作,我认为这是编码或什么的问题。
  • @experimentX 是的现在.. 编辑后 ^^ 我同意错误的编码
【解决方案2】:

看看区别.....哈哈,还有here

<?php

echo ord('с'); //this 'с' is copied from above text.

echo "<br/>";

echo ord('c');

结果

209
99

【讨论】:

  • @Ockonal 你应该比我更感谢@Guffa。他是第一个提出这个想法的人。
猜你喜欢
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-24
相关资源
最近更新 更多