无法给span标签赋值

skorwen 2012-04-30 01:51:20
<span id="recent_flash_smallPage" class="product_title"></span>


<div class="fl relative pad_1em" id="product_flash_page">
<span id="recent_flash_smallPrev" class="recent_flash_prev" title="Back"></span>
<span id="recent_flash_smallNext" class="recent_flash_next" title="Next"></span>

<ul class="margin_t max_flash_width" id="recent_flash_small">
。。。。
。。。。
</ul>
</div>


function page_go(id,num, c,t,cid){
var Prev = id + "Prev";
var Next = id + "Next";
var pageId = id + "Page";
var Page = 0;
var currentPage = 1;
var PageNumber = Math.ceil(t/num);
var activeClick = true;
var gopage = 0;

if(num>t){activeClick = false;}
if(c >= num){
if(t!=null){
gopage = Math.ceil(c/num);
if(c % num == 0) gopage++;
}
updateProduct('goto', gopage);
}

function updateProduct(type, gopage) {
if(type=='pre') {Page -= parseInt(num);currentPage--};
if(type=='next') {Page += parseInt(num);currentPage++};
if(type=='goto' && gopage != null) {Page = (gopage-1) * num ; currentPage = gopage;}
if(Page<0) {
Page=num*(PageNumber-1);
currentPage=PageNumber;
}
if(Page>=t) {
Page=0;
currentPage=1;
}

$(pageId).innerHTML = currentPage +'/'+PageNumber;

for(i=0;i<num;i++){
if(i >= productPrice.length){
break;
}
n_page = i + Page;
$('cell_price'+i).innerHTML=productPrice[n_page];
$('cell_link'+i).href = rewrite_url(productName[n_page], productID[n_page]);
$('cell_link'+i).title = productName[n_page];

$('li'+i).style.display='block';
if(productID[n_page] == null){
$('li'+i).style.display='none';
continue;
}
if(num==4)$('cell_img'+i).src=baseURL+"images/root/loading_img_b.gif";
if(num==8)$('cell_img'+i).src=baseURL+"images/root/loading_img_s.gif";
$('cell_img'+i).alt=productName[n_page];
$('cell_img'+i).title=productName[n_page];
loadImage('cell_img'+i,imgURL+productIMG[n_page]);
if(cid != null){
if(cid == productID[n_page]){
$('cell_img'+i).className = 'allborder';
}
else{
$('cell_img'+i).className = '';
}
}

if(productSourcePrice != null){
$('cell_source_price'+i).innerHTML=productSourcePrice[n_page];
}
if(productSubName != null && productName != null){
$('cell_name_link'+i).innerHTML=productSubName[n_page];
$('cell_name_link'+i).href=rewrite_url(productName[n_page], productID[n_page]);
$('cell_name_link'+i).title=productName[n_page];
}
if(productFlg != null){
var tmp = productFlg[n_page].split('#');
if(tmp.length < 4) continue;
$('sold_out_s'+i).style.display = (tmp[0] > 0) ? 'block' : 'none';
$('almost_sold_out_s'+i).style.display = (tmp[1] > 0) ? 'block' : 'none';
if(tmp[2] > 0){
$('product_count_s'+i).innerHTML=tmp[2];
}
$('product_count_s'+i).style.display = (tmp[2] > 0) ? 'block' : 'none';
$('sale_item_s'+i).style.display = (tmp[3] > 0) ? 'block' : 'none';
}
}
}

$(pageId).innerHTML = currentPage +'/'+PageNumber;
$(Prev).onclick = function () {
if(!activeClick) return false;
updateProduct('pre');
}
$(Next).onclick = function () {
if(!activeClick) return false;
updateProduct('next');
}
}
...全文
1538 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
skorwen 2012-05-02
  • 打赏
  • 举报
回复
马甲兄,可有办法解决那个loadImage?
skorwen 2012-05-02
  • 打赏
  • 举报
回复
加上单引号也没用,一样还是加载不到图片。 是这样的,刚打开第一页时可以加载到图片,但翻滚图片页时,第二页以后的页都不能加载图片了。

productID = [<?php echo $flash_page_id;?>];
productPrice = [<?php echo $flash_page_price;?>];
productIMG = [<?php echo $flash_page_images;?>];
productName = [<?php echo $flash_page_name;?>];

这些都没有加引号,但价格,名字却能显示出来。 唯独image不行。也IE浏览器也不提示有错误。
乌镇程序员 2012-05-02
  • 打赏
  • 举报
回复
productIMG = ['<?php echo $flash_page_images;?>']; //字符串要加上引号
skorwen 2012-05-02
  • 打赏
  • 举报
回复
请T5500还帮忙看下 loadImage 加载不成功,

zen_image_OLD(DIR_WS_IMAGES.$flash_page_items[$i]['products_image'],SEO_COMMON_KEYWORDS.' '.$flash_page_items[$i]['products_name'],79,79,'id="cell_img'.$i.'" class="'.(($flash_page_items[$i]['products_id'] == $_GET['products_id']) ? 'allborder':'').'"')


var imgURL = baseURL+'images/';

productIMG = [<?php echo $flash_page_images;?>];

loadImage('cell_img'+i,imgURL+productIMG[n_page]);

图片路径应该是没错,但就是加载不出来。

var ImageLoader = function(url){
this.url = url;
this.image = null;
this.loadEvent = null;
};

ImageLoader.prototype = {
load:function(){
this.image = document.createElement('img');
var url = this.url;
var image = this.image;
var loadEvent = this.loadEvent;
addListener(this.image, 'load', function(e){
if(loadEvent != null){
loadEvent(url, image);
}
}, false);
this.image.src = this.url;
},
getImage:function(){
return this.image;
}
};

function loadImage(objId,urls){
var loader = new ImageLoader(urls);
loader.loadEvent = function(url){
obj = $(objId);
obj.src = url;
}
loader.load();
}
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
哪一行报错,错误信息是什么?
skorwen 2012-04-30
  • 打赏
  • 举报
回复
恩,非常感谢! 不过就刚刚那个功能,虽说可以获取到值,但是当我翻页时,却无法获取到下页的图片。不知是何原因。
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]

span标签可以获取到值了!!!
[/Quote]

好吧,恭喜了。。。碰到JS问题最重要的就是要分析浏览器的错误信息。
skorwen 2012-04-30
  • 打赏
  • 举报
回复
span标签可以获取到值了!!!
skorwen 2012-04-30
  • 打赏
  • 举报
回复
这句加到JS代码的任意位置均可?


还有我在本地调试那个正常网站,它的js是放在jscritp的文件夹里面的jscript_prototype.js文件里面,如果我把相应的js代码直接放到php文件的js代码里面,那个功能就不能正常起作用了,也是span获取不到值了。

其中那个php文件的代码是这样的:
<div class="fl relative pad_1em" id="product_flash_page">
<span id="recent_flash_smallPrev" class="recent_flash_prev" title="Back"></span>
<span id="recent_flash_smallNext" class="recent_flash_next" title="Next"></span>

<ul class="margin_t max_flash_width" id="recent_flash_small">

<?php
$flash_page_id_con = array();
$flash_page_images_con = array();
$flash_page_price_con = array();
$flash_page_name_con = array();

$flash_page_query = "select p.products_id,p.products_image,pd.products_name from " . TABLE_PRODUCTS ." p, ". TABLE_PRODUCTS_DESCRIPTION . " pd where p.`products_id`=pd.`products_id` AND master_categories_id = " . zen_get_products_category_id($products_id);
$flash_page = $db->Execute($flash_page_query);
while(!$flash_page->EOF){
$flash_page_items[] = $flash_page->fields;
$flash_page_id_con[] = $flash_page->fields['products_id'];
$flash_page_images_src = is_int(strpos($flash_page->fields['products_image'],','))? substr($flash_page->fields['products_image'],0,strpos($flash_page->fields['products_image'],',')):$flash_page->fields['products_image'];
$flash_page_images_con[] = '"'.(zen_not_null($flash_page->fields['products_image']) ? $flash_page_images_src : PRODUCTS_IMAGE_NO_IMAGE ).'"';
$flash_page_price_con[] = '"'.$currencies->display_price(zen_get_products_base_price($flash_page->fields['products_id']),zen_get_tax_rate($product_check->fields['products_tax_class_id'])).'"';
$flash_page_name_con[] = '"'.zen_output_string(zen_get_products_name($flash_page->fields['products_id'])).'"';
$flash_page->MoveNext();
}

$flash_page_id = implode(",", $flash_page_id_con);
$flash_page_images = implode(",", $flash_page_images_con);
$flash_page_price = implode(",", $flash_page_price_con);
$flash_page_name = implode(",", $flash_page_name_con);

$flash_page_display_num = ($flash_page->RecordCount()< 8 )? $flash_page->RecordCount(): 8;
?>

<?php for($i = 0; $i< $flash_page_display_num ; $i++){?>
<li id="li<?php echo $i;?>" style="display:block;">
<a class="ih" id="cell_link<?php echo $i;?>" href="<?php echo zen_href_link(zen_get_info_page($flash_page_items[$i]['products_id']), 'products_id=' . $flash_page_items[$i]['products_id']);?>"><?php echo zen_image_OLD(DIR_WS_IMAGES.$flash_page_items[$i]['products_image'],SEO_COMMON_KEYWORDS.' '.$flash_page_items[$i]['products_name'],79,79,'id="cell_img'.$i.'" class="'.(($flash_page_items[$i]['products_id'] == $_GET['products_id']) ? 'allborder':'').'"');?></a><p><strong id="cell_price<?php echo $i?>" class="red"><?php echo $currencies->display_price((zen_get_products_base_price($flash_page_items[$i]['products_id']) == 0 ? zen_get_products_sample_price($flash_page_items[$i]['products_id']): zen_get_products_base_price($flash_page_items[$i]['products_id'])),zen_get_tax_rate($product_check->fields['products_tax_class_id'])); ?></strong></p>
</li>
<?php
//print_r($flash_page_items[$i]);
}
?>
</ul>
</div>


<script type="text/javascript">
var productTotal = <?php echo intval($flash_page->RecordCount());?>;
var productCurrent = <?php echo intval(array_search($_GET['products_id'],$flash_page_id_con));?>;
var productID = new Array();
var productPrice = new Array();
var productIMG = new Array();
var productName = new Array();
var imgURL = baseURL+'images/';
var linkURL = baseURL+"index.php?main_page=product_info&products_id=";
var productSourcePrice = null;
var productSubName = null;
var productName = null;
<?php ?>
var productFlg = null;
productID = [<?php echo $flash_page_id;?>];
productPrice = [<?php echo $flash_page_price;?>];
productIMG = [<?php echo $flash_page_images;?>];
productName = [<?php echo $flash_page_name;?>];
page_go('recent_flash_small','8', productCurrent, productTotal, '<?php echo $_GET['products_id']?>');
</script>
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
function $(obj) {
return typeof(obj) == "string" ? document.getElementById(obj) : obj;
}
skorwen 2012-04-30
  • 打赏
  • 举报
回复
这是我在网上找的一个显示这功能正常的网站,我只有网站程序,没装网站:http://www.tradeii.com/digital-wristwatch-solar-dual-power-water-resist-sport-wrist-watch-p-14789.html
skorwen 2012-04-30
  • 打赏
  • 举报
回复
http://www.sunglasses.offeringugg.com/sunglasses-gucci-11-p-22586.html?zenid=5883c585e85294e7beac975175f2c4a1
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
估计是这样的:
function $(o) { return document.getElementById(o); }
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
链接发上来,帮你找。。
skorwen 2012-04-30
  • 打赏
  • 举报
回复
在那个正常网站上也找不到$()这个函数的定义啊。
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
看你的代码不像是使用了jQuery,那有没有把$()函数的定义写到这个html文件中?
skorwen 2012-04-30
  • 打赏
  • 举报
回复
有显示错误‘null'为空,或者不是对象。
乌镇程序员 2012-04-30
  • 打赏
  • 举报
回复
那要看一下浏览器报什么错误了,应该有别的JS错误。
skorwen 2012-04-30
  • 打赏
  • 举报
回复
实际上此代码是从另外一个正常网站上提取出来的,那个正常网站的次功能(图片翻滚效果)可正常运行。我想把次功能提取出来放到另外一个网站上面。而那个正常网站上面的js代码是调用的外部的一个jscript文件里面的一个js文件(但不知是如何调用的)我是想直接把js代码放入php文件里面运行,但似乎运行不顺利。
skorwen 2012-04-30
  • 打赏
  • 举报
回复
加入alert(pageId);不显示任何值。本来正确应该是显示recent_flash_smallPage这个值。 调用函数的语句:page_go('recent_flash_small','8', productCurrent, productTotal, '<?php echo $_GET['products_id']?>');
加载更多回复(4)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧