book_details.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. var GetLength = function (str) {
  2. ///<summary>获得字符串实际长度,中文2,英文1</summary>
  3. ///<param name="str">要获得长度的字符串</param>
  4. if(!str) return 0;
  5. var realLength = 0, len = str.length, charCode = -1;
  6. for (var i = 0; i < len; i++) {
  7. charCode = str.charCodeAt(i);
  8. if (charCode >= 0 && charCode <= 128) realLength += 1;
  9. else realLength += 2;
  10. }
  11. return realLength;
  12. };
  13. //js截取字符串,中英文都能用
  14. //如果给定的字符串大于指定长度,截取指定长度返回,否者返回源字符串。
  15. //字符串,长度
  16. /**
  17. * js截取字符串,中英文都能用
  18. * @param str:需要截取的字符串
  19. * @param len: 需要截取的长度
  20. */
  21. function cutstr(str, len) {
  22. var str_length = 0;
  23. var str_len = 0;
  24. str_cut = new String();
  25. str_len = str.length;
  26. for (var i = 0; i < str_len; i++) {
  27. a = str.charAt(i);
  28. str_length++;
  29. if (escape(a).length > 4) {
  30. //中文字符的长度经编码之后大于4
  31. str_length++;
  32. }
  33. str_cut = str_cut.concat(a);
  34. if (str_length >= len) {
  35. str_cut = str_cut.concat("...");
  36. return str_cut;
  37. }
  38. }
  39. //如果给定字符串小于指定长度,则返回源字符串;
  40. if (str_length < len) {
  41. return str;
  42. }
  43. }
  44. $(function () {
  45. // 截取内容详情
  46. var MAX_NUM = 90;
  47. var str_initial = $('.j_cutstrtxt').text();
  48. if(GetLength(str_initial)>MAX_NUM){
  49. var _txt = cutstr(str_initial, MAX_NUM);
  50. $('.j_cutstrtxt').text(_txt);
  51. }else{
  52. $('.bd_description_box a').hide();
  53. }
  54. $('.bd_description_box a').click(function(){
  55. $(this).parent().removeClass('bd_description_open');
  56. $('.j_cutstrtxt').text(str_initial);
  57. });
  58. cpslog([701,{map:getmapobj()}]);
  59. });
  60. function getmapobj(){
  61. //log
  62. var swsearch = window.location.search.substr(1);
  63. if(!swsearch) return '';
  64. var omap = {};
  65. try{
  66. swsearch = swsearch.split('&');
  67. for(var i = 0; i<swsearch.length; i++){
  68. var obj = asplitsty(swsearch[i],'=');
  69. if(obj) omap[obj[0]] = obj[1];
  70. }
  71. if(/\/book\/menu/.test(window.location.pathname) && !omap.page){
  72. omap.page = 1;
  73. }
  74. return omap;
  75. }catch(e){
  76. return '';
  77. }
  78. }
  79. function asplitsty(str,separator){
  80. var reg = new RegExp(separator);
  81. if(reg.test(str)){
  82. return str.split(separator);
  83. }
  84. return '';
  85. }