0

嘿,我有以下代码可以在每次图像更改时更改图像和背景颜色:

$buildGrx = '';

if ($cssColor1 <> '') {$buildGrx = '\'uploadImage/bannerImg/slider/1.jpg\','; }
if ($cssColor2 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/2.jpg\','; }
if ($cssColor3 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/3.jpg\','; }
if ($cssColor4 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/4.jpg\','; }
if ($cssColor5 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/5.jpg\','; }
if ($cssColor6 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/6.jpg\','; }
if ($cssColor7 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/7.jpg\','; }
if ($cssColor8 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/8.jpg\','; }
if ($cssColor9 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/9.jpg\','; }
if ($cssColor10 <> '') {$buildGrx .= '\'uploadImage/bannerImg/slider/10.jpg\','; }

$buildGrx = substr($buildGrx, 0, strlen($buildGrx) - 1); 

var imgArr = new Array( // relative paths of images
 <?PHP echo $buildGrx ?>
 );

 var preloadArr = new Array();
 var i;
 var colorsCSS = new Array();

 colorsCSS[0] = '#fff';
 colorsCSS[1] = '<?PHP echo $cssColor1 ?>';
 colorsCSS[2] = '<?PHP echo $cssColor2 ?>';
 colorsCSS[3] = '<?PHP echo $cssColor3 ?>';
 colorsCSS[4] = '<?PHP echo $cssColor4 ?>';
 colorsCSS[5] = '<?PHP echo $cssColor5 ?>';
 colorsCSS[6] = '<?PHP echo $cssColor6 ?>';
 colorsCSS[7] = '<?PHP echo $cssColor7 ?>';
 colorsCSS[8] = '<?PHP echo $cssColor8 ?>';
 colorsCSS[9] = '<?PHP echo $cssColor9 ?>';
 colorsCSS[10] = '<?PHP echo $cssColor10 ?>';

 /* preload images */
 for(i=0; i < imgArr.length; i++){
    preloadArr[i] = new Image();
    preloadArr[i].src = imgArr[i];
 }

 var currImg = 1;
 var intID = setInterval(changeImg, 6000);

 /* image rotator */
 function changeImg(){
     alert(currImg);
    $('#pageBG').animate({opacity: 0}, 1000, function(){
    $(this).css('background-image','url(' + preloadArr[currImg++%preloadArr.length].src +')');
    $(this).css('background-color', colorsCSS[currImg]);
 }).animate({opacity: 1}, 1000);
 }

以及它更改的 HTML 代码:

 echo '<div align="center" style="background-image:url("#"); background-color:"#fff"; background-repeat:no-repeat; background-position:center top; height:287px;" id="pageBG"></div>';

然而,问题在于,由于某种原因,它搞砸了 html 代码:

 <div align="center" id="pageBG" height:287px;"="" top;="" background-position:center="" background-repeat:no-repeat;="" background-color:"#fff";="" #");="" style="opacity: 1; background-image: url(&quot;http://www.thehamiltonfirm.com/hf-blog/uploadImage/bannerImg/slider/2.jpg&quot;);"></div>

那么我该怎么做才能让它像那样混乱呢?

4

2 回答 2

1

background-image:url("#");您可以在-->中省略引号background-image:url(#);

background-color:"#fff";--> background-color: #fff;- 这里不需要引号。

标签中的所有样式属性都由引号包裹style="",内部style属性不允许使用相同的引号,而是""必须使用''( style="background-image: url('#');")。所以,echo也使用单引号,里面的引号style必须被转义:style="background-image: url(\'#\');"

<?php
    echo '<div align="center" 
               style="background-image: url(\'#\'); 
               background-color: #fff; 
               background-repeat: no-repeat; 
               background-position: center top; 
               height: 287px;" id="pageBG">
          </div>';
于 2012-10-05T23:27:28.747 回答
0

您在输出div.

echo '<div align="center" style="background-image:url("#"); background-color:"#fff"; background-repeat:no-repeat; background-position:center top; height:287px;" id="pageBG"></div>';

相反,您应该使用转义的单引号(因为您在单引号分隔的 PHP 字符串中使用它)。

echo '<div align="center" style="background-image:url(\'#\'); background-color:\'#fff\'; background-repeat:no-repeat; background-position:center top; height:287px;" id="pageBG"></div>';
于 2012-10-05T23:20:53.723 回答