日期:2014-05-16  浏览次数:20604 次

就剩35分了,把这几个问题都写出来,请前辈帮忙看看!
1、用php开发的网站,页面用ajax添加数据,我用两种传递数据的方法都成功了,但不知道有什么差别。一是php获取数据库后直接写成html,然后用ajax以html方式取回来,直接append;二是php获取数据库后写成json数据,然后用js解析并写成html,再append。第一种方法不用特殊字符转换,不用解析,但很多教学都以推荐使用json,请问这两种有什么区别?效率上有差别吗?

2、csdn论坛中当鼠标指向用户头像出现信息框的功能是怎么做的?我做的那个网站也需要这个功能,但我只实现鼠标移入可以出现信息框,但关闭就需要添加按钮手动关闭,因为如果设置鼠标移出就消失的话,无法在信息框里面进行操作,鼠标从头像还没移到信息框,信息框就消失了。

3、富文本编辑器CKEDITOR的问题。我可以获取到编辑器内的内容: 
var send_text = encodeURI(CKEDITOR.instances.text1.getData());但无法获取编辑器本身,我要给编辑器设置ctrl+enter提交的快捷键,在js里面写了代码:

$(document).keypress(function(e){
        if(e.ctrlKey && e.which == 13 || e.which == 10) { 
                $("#aa").click();
        }        
 })

这个功能只能是焦点在编辑器外的时候才能实现,当在编辑器内输入文本,按ctrl+enter无反应。我baidu也没找到如何给CKEDITOR添加事件。

4、我学习php不久,开始编写的网页大部分都是php和html结合的,后来学了ajax,一部分网页改成从ajax写数据,现在又听别人说最好实现代码完全分离,用smarty。这个分离和不分离差在哪?效率上吗?我做一个网站从设计css到写php、js都是我一个人,网站也不大,有没有必要改?

5、给我这个初学者在学习方向方面给一点建议。

分不多,先谢谢了。
------解决方案--------------------
1,json没那么多冗余的内容,体积比html的小,但是需要编写额外的代码生成客户端内容


2,setTimeout延时隐藏,离开头像时启动计时器并保持,如100ms后隐藏弹出层,当鼠标移动到弹出层是clear掉这个计时器,参考:仿CSDN的鼠标悬停效果

3、在编辑器初始化完毕后获取编辑器的document来添加事件,更多事件参考:如何判断ckeditor是否已经加载和初始化完毕
CKEDITOR.on('instanceReady', function (e) { 
$(e.editor.document.$).keypress(function(e){if(e.ctrlKey &&( e.which == 13 
------解决方案--------------------
 e.which == 10))alert('ctrl+Enter')}) 
})


4、能改就该,后台用ajax改善体验,前台重要信息可以ajax,描述之类的不要用,不利于seo

5、看书多论坛了~~