while($row=mysql_fetch_assoc($res)){
echo <<< HTML
<div class="article">
<div class="article_title"><p>$row[article_title]</p></div>
<div id="article_body">$row[article_body]</div>
<script>
function yichu(){
var o = document.getElementById("article_body");
var s = o.innerHTML;
var p = document.createElement("span");
var n = document.createElement("a");
p.innerHTML = s.substring(0,100);
n.innerHTML = s.length > 100 ? "..." : "";
n.href = "###";
n.onclick = function(){
if (n.innerHTML == "..."){
n.innerHTML = "收起";
p.innerHTML = s;
}else{
n.innerHTML = "...";
p.innerHTML = s.substring(0,100);
}
}
o.innerHTML = "";
o.appendChild(p);
o.appendChild(n);
}
yichu();
</script>
</div>
HTML;
}经测试 循环没问题,但是 JS代码只是调用了一次而已
如果改成这样,就可以调用相应的循环次数
<script>
function yichu(){
document.write("欢迎")
yichu();
</script> 求解释!!!
echo <<< HTML
<div class="article">
<div class="article_title"><p>$row[article_title]</p></div>
<div id="article_body">$row[article_body]</div>
<script>
function yichu(){
var o = document.getElementById("article_body");
var s = o.innerHTML;
var p = document.createElement("span");
var n = document.createElement("a");
p.innerHTML = s.substring(0,100);
n.innerHTML = s.length > 100 ? "..." : "";
n.href = "###";
n.onclick = function(){
if (n.innerHTML == "..."){
n.innerHTML = "收起";
p.innerHTML = s;
}else{
n.innerHTML = "...";
p.innerHTML = s.substring(0,100);
}
}
o.innerHTML = "";
o.appendChild(p);
o.appendChild(n);
}
yichu();
</script>
</div>
HTML;
}经测试 循环没问题,但是 JS代码只是调用了一次而已
如果改成这样,就可以调用相应的循环次数
<script>
function yichu(){
document.write("欢迎")
yichu();
</script> 求解释!!!
解决方案 »
- php 发送手机短信,在防火墙需要开放那个端口
- 我想设置一个页面变量,刷新之后不消失,如何做?
- 请教各位一个很简单的问题
- 有谁知道SMARTY中除了{section},{foreach}外还有哪些类似于for的循环函数!
- 如何在php中引用ActiveX对象???
- 请教表单的action能根据条件选择么?
- 有关asp和php?
- php源代码可以加密么?整个project可以做成一个安装包么?
- 请教如何将javascript生成的变量值传递给PHP的变量(希望能单页内及跨页面传递)
- 可以自动上传远程文件吗
- php+ajax 取值求助
- 一个空间绑定了多个域名,当有百度、谷歌等搜索引擎爬虫爬到,如何知道是访问的哪一个域名?
要循环应该在js 的客户端做循环 如果有数据使用php 输出数据保存到页面 或者js ajax 来取得数据再输出到页面
修正了一下你的逻辑<script>
function yichu(o){
// 这句被注释掉,对象以参数传递
// var o = document.getElementById("article_body");
var s = o.innerHTML;
var p = document.createElement("span");
var n = document.createElement("a");
p.innerHTML = s.substring(0,100);
n.innerHTML = s.length > 100 ? "..." : "";
n.href = "###";
n.onclick = function(){
if (n.innerHTML == "..."){
n.innerHTML = "收起";
p.innerHTML = s;
}else{
n.innerHTML = "...";
p.innerHTML = s.substring(0,100);
}
}
o.innerHTML = "";
o.appendChild(p);
o.appendChild(n);
}
</script> <?php
while($row=mysql_fetch_assoc($res)){echo <<< HTML
<div class="article">
<div class="article_title"><p>{$row['article_title']}</p></div>
<div name="article_body">{$row['article_body']}</div>
</div>
HTML;
}
?>
<script>
var article_bodys = document.getElementsByName('article_body');
for( var key in article_bodys)
{
yichu( article_bodys[key] );
}
</script>
所以改一下下面那段Js代码
var article_bodys = document.getElementsByName('article_body');
for( var key in article_bodys)
{
// 加个判断,如果是一个html dom对象才能用于此函数
if(typeof article_bodys[key] == 'object')
yichu( article_bodys[key] );
}再没发现什么问题了,在我的chrome上测试通过。
如果有什么问题再贴出来,跟着学习