当前位置:  开发笔记 > 前端 > 正文

PHP+MySQL+jQuery打造自己的微博程序

我们在QQ个人中心或者新浪微博等网站上可以看到一个发表话题的应用。该应用实现了即时统计输入字数,并且通过Ajax与后台交互,将输入内容插入到话题列表中。本文讲解第一部分jQuery实现前端交互操作。XHTML代码">

  我们在QQ个人中心或者新浪微博等网站上可以看到一个发表话题的应用。该应用实现了即时统计输入字数,并且通过Ajax与后台交互,将输入内容插入到话题列表中。本文讲解第一部分jQuery实现前端交互操作。

  

图例

 

  XHTML代码

 

  1. <form id="myform" action="say.php" method="post">        
  2.     <h3><span class="counter">140span>说说你正在做什么...h3>        
  3.     <textarea name="saytxt" id="saytxt" class="input" rows="2" cols="40">textarea>        
  4.     <p>           
  5.        <input type="image" src="images/btn.gif" class="sub_btn" alt="发布" />           
  6.        <span id="msg">span>        
  7.     p>     
  8. form>     
  9. <div class="clear">div>     
  10. <div id="saywrap">         
  11.      <div class="saylist">            
  12.         <a href="#"><img src="images/user.gif" alt="" />a>            
  13.         <div class="saytxt">               
  14.             <p><strong><a href="#">Demoa>strong>发布的内容...p>                
  15.             <div class="date">div>            
  16.         div>            
  17.         <div class="clear">div>         
  18.      div>     
  19. div>   

  XHTML是一个表单,里面有输入框textarea,发布按钮,还有一个统计输入字数的span#counter,和信息提示span#msg,在没有输入的情况下就提交则会提示用户要求输入内容。

  CSS代码

 

  1. h3{height:32px; line-height:32px; font-size:18px}     
  2. h3 span{float:right; font-size:32px; font-family:Georgia,serif; color:#ccc; overflow:hidden}     
  3. .input{width:594px; height:58px; margin:5px 0 10px 0; padding:4px 2px;      
  4. border:1px solid #aaa; font-size:12px; line-height:18px; overflow:hidden}     
  5. .sub_btn{float:right; width:94px; height:28px;}     
  6. #msg{color:#f30}     
  7. .clear{clear:both}     
  8. .saylist{margin:8px auto; padding:4px 0; border-bottom:1px dotted #d3d3d3}     
  9. .saylist img{float:left; width:50px; margin:4px}     
  10. .saytxt{float:right; width:530px; overflow:hidden}     
  11. .saytxt p{line-height:18px}     
  12. .saytxt p strong{margin-right:6px}     
  13. .date{color:#999}    

  jQuery

  先引入jquery库和global.js文件:

 

  1. <script type="text/Javascript" src="js/jquery.js">script> 
  2.  
  3. <script type="text/Javascript" src="js/global.js">script> 

  global.js要做的事有:

  1、用户输入、鼠标离开输入框时,统计输入的字符数,并根据输入字数的不同而输出不同的样式(字体颜色)显示在页面上。

  2、处理提交数据:当点击“发布”按钮时,显示等待图片,通过ajax想后台提交输入的数据,等待后台处理,并将处理结果输出给前端页面。

  具体代码如下:

 

  1. function recount(){         
  2.    var maxlen=140;         
  3.    var current = maxlen-$('#saytxt').val().length;         
  4.    $('.counter').html(current);          
  5.    
  6.    if(current<1 || current>maxlen){             
  7.        $('.counter').css('color','#D40D12');             
  8.        $('input.sub_btn').attr('disabled','disabled');         
  9.    }         
  10.    else             
  11.       $('input.sub_btn').removeAttr('disabled');          
  12.    if(current<10)             
  13.       $('.counter').css('color','#D40D12');          
  14.    else if(current<20)             
  15.       $('.counter').css('color','#5C0002');          
  16.    else             
  17.       $('.counter').css('color','#cccccc');      
  18. }   

  函数recount()完成了输入字符的统计,并根据输入的字符数,显示不同的字体颜色。

 

  1. $(function(){         
  2.    $('#saytxt').bind("blur focus keydown keypress keyup", function(){             
  3.        recount();         
  4.    });         
  5.    $("#myform").submit(function(){             
  6.        var saytxt = $("#saytxt").val();             
  7.        if(saytxt==""){                 
  8.              $("#msg").show().html("你总得说点什么吧.").fadeOut(1200);;                 
  9.              return false;             
  10.        }             
  11.        $('.counter').html('<img style="padding:8px" src="images/load.gif" alt="正在处理..." />');             
  12.        $.ajax({                
  13.              type: "POST",                
  14.              url: "submit.php",                
  15.              data:"saytxt="+saytxt,                
  16.              dataType: "html",                
  17.              success: function(msg){                   
  18.                  if(parseInt(msg)!=0){                      
  19.                     $('#saywrap').prepend(msg);                      
  20.                     $('#saytxt').val('');                      
  21.                     recount();                  
  22.                  }               
  23.         }             
  24.     });             
  25.     return false;         
  26.    });     
  27. });   

  提交数据给后台后,由submit.php进行处理。关于jQuery部分就到这里,后续会有关于后台的处理程序,敬请关注。


推荐阅读
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • jQuery学习笔记:深入理解事件委派(2014年8月3日)
    在jQuery中,事件委托机制主要通过`closest()`方法实现。该方法用于查找与指定选择器匹配的最近祖先元素,从当前元素开始逐级向上遍历DOM树。这一技术不仅提高了代码的效率,还能有效处理动态生成的元素。参考资料:jQuery遍历方法详解。 ... [详细]
  • 探索JavaScript倒计时功能的三种高效实现方法及代码示例 ... [详细]
  • 需求:在指定的DIV区域内点击时,需展示该区域内的附加操作面板;而在区域外点击时,则应自动隐藏该附加操作面板。通过精准的事件监听与处理,确保用户交互体验的流畅性和直观性。 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 构建顶级PHP博客系统:实践与洞见
    构建顶级PHP博客系统不仅需要扎实的技术基础,还需深入理解实际应用需求。本文以Zend Studio为开发环境,MySQL作为数据存储,Apache服务器为运行平台,结合jQuery脚本语言,详细阐述了从环境搭建到功能实现的全过程,分享了开发PHP博客管理系统的宝贵经验和实用技巧。 ... [详细]
  • Select2.js下拉框应用总结与实践要点
    在使用Select2.js下拉框插件的过程中,积累了诸多实践经验与心得。尽管最初觉得Select2在某些方面不尽如人意,但在对比了其他选项后,发现其仍是最优选择。本文将详细探讨Select2.js的配置、优化技巧及常见问题解决方法,帮助开发者更好地利用这一强大的前端工具。 ... [详细]
  • 在编程中,`SyntaxError: unterminated string literal` 错误通常出现在使用 jQuery 或其他 JavaScript 库时,表示某个字符串字面量未正确闭合。这种错误通常是由于代码中的引号不匹配或缺失导致的,例如在字符串中意外地包含了未转义的引号字符。解决此问题的方法是仔细检查相关代码段,确保所有字符串都已正确闭合,并且引号已适当转义。此外,使用现代代码编辑器或 IDE 的语法高亮功能可以帮助快速定位此类问题。 ... [详细]
  • 精通jQuery:深入解析事件处理机制与应用技巧
    本文详细探讨了jQuery的事件处理机制及其应用技巧,通过具体的代码示例,逐一解析了每个jQuery代码片段与其对应的HTML结构。文章以标记为基准,CSS作为通用样式,确保每段代码都能独立运行。HTML和CSS代码统一放置在文章末尾,方便读者参考和实践。 ... [详细]
  • 本研究聚焦于利用Java、PHP和Python开发的汽车销售管理系统,旨在为计算机科学专业学生的毕业设计提供参考。项目采用BS架构,结合多种编程语言的优势,实现高效的数据管理和用户交互。该系统不仅涵盖了汽车销售的核心功能,还通过集成先进的技术栈,提升了系统的稳定性和扩展性。 ... [详细]
  • 浏览器与服务器在网站访问过程中的数据交互分析
    本文分析了浏览器与服务器在网站访问过程中基于HTTP协议的数据交互机制。HTTP协议具有轻量级和高效通信的特点,主要通过GET、HEAD和POST方法进行数据传输。其“请求-响应”模式确保了数据交互的有序性和可靠性,同时支持多种数据格式和内容类型,为现代Web应用提供了坚实的基础。 ... [详细]
  • EasyUI作为一种高效的前端框架,显著简化了JavaScript代码的编写,提升了开发效率。在构建窗口应用程序时,首先需要引入EasyUI所需的JS文件和CSS样式表。由于EasyUI依赖于jQuery,因此还需确保正确加载jQuery库。通过这种方式,开发者能够快速实现界面组件的动态交互与美观布局,为用户提供更加流畅的使用体验。 ... [详细]
  • 前面简单总结了js的基本语法,其实js语法和java、C语言语法有很多的相同之处;接下来将总结js在WEB浏览器中的运用,这部门将要了解的 ... [详细]
  • 10款精选jQuery插件助力响应式网页设计布局优化
    响应式网页设计在当今的数字环境中至关重要。本文精选了10款优秀的jQuery插件,旨在帮助设计师和开发者优化网站布局,确保内容在不同设备上(如手机、平板电脑等)都能呈现最佳效果,提升用户体验。这些插件不仅功能强大,还能显著简化开发流程,提高工作效率。 ... [详细]
author-avatar
水晶玲珑9261996
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有