{"id":20839105,"url":"https://github.com/sbdavid/ppbarrage","last_synced_at":"2026-04-16T09:33:54.074Z","repository":{"id":57329180,"uuid":"98177672","full_name":"SBDavid/PPBarrage","owner":"SBDavid","description":null,"archived":false,"fork":false,"pushed_at":"2017-08-18T08:29:08.000Z","size":19,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T05:17:33.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SBDavid.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-24T10:13:28.000Z","updated_at":"2018-06-14T14:36:42.000Z","dependencies_parsed_at":"2022-09-01T15:31:57.651Z","dependency_job_id":null,"html_url":"https://github.com/SBDavid/PPBarrage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SBDavid%2FPPBarrage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SBDavid%2FPPBarrage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SBDavid%2FPPBarrage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SBDavid%2FPPBarrage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SBDavid","download_url":"https://codeload.github.com/SBDavid/PPBarrage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243196663,"owners_count":20251861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T01:12:21.961Z","updated_at":"2025-12-24T09:50:43.610Z","avatar_url":"https://github.com/SBDavid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 高性能canvas弹幕\n\n支持同时显示200条弹幕，并维持60fps帧率\n![Markdown](http://i4.eiimg.com/1949/ce509c38502be29c.png)\n\n## 特征\n- 弹幕优先显示在顶部\n- 弹幕永远不会重叠\n- 支持缓冲池，如果屏幕已满则推后显示\n- 支持配置弹幕滑动时长，字数多的弹幕移动更快\n- 支持弹幕字体大小配置\n- 支持弹幕轨道高度配置\n\n`note: 依赖jquery和tween.js`\n\n##  Compatibility\n| Browser       | Support          |\n| ------------- |:----------------:|\n| IE 9          | √                |\n| IE 10         | √                |\n| IE 11         | √                |\n| chrome 59     | √                |\n| FF 54         | √                |\n\n## API\n| fun           | paramName          | comment  |\n| ------------- |:-------------:| -----:|\n| ppParrage     | root：canvas节点          | 构造方法|\n| init          | config：配置项            | 初始化方法   |\n| load          | bullets：弹幕数据         | 加载弹幕数据  |\n| start         | 无                       | 开始运行     |\n| getStatus     | 无                       | 弹幕执行状态：init，running，idle  |\n\n\n## Usage\n\n- be sure that the jquery and tween.js is loaded\n\n## Simple\nHTML\n```html\n\u003c!DOCTYPE HTML\u003e\n\u003chtml lang=\"en\"\u003e\n\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n     \u003cscript src=\"https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js\"\u003e\u003c/script\u003e\n    \u003cscript src=\"./src/Tween.js\"\u003e\u003c/script\u003e \n    \u003cscript src=\"./src/index.js\"\u003e\u003c/script\u003e\n    \u003clink href=\"./index.css\" rel=\"stylesheet\" type=\"text/css\" /\u003e\n    \u003cscript\u003e\n        window.onload = function () {\n            var test = new ppParrage.ppParrage(document.getElementById('pg'));\n            $('#init').click(function () {\n                test.init({\n                    bulletHeight: 50,\n                    displayTime: 6000,  // 弹幕显示的时长\n                    isDebug: false,\n                    fontSize: 28        // 弹幕字体大小\n                }); \n            })\n            $('#start').click(function () { test.start(); })\n            $('#load').click(function () {\n                test.load([\n                    { msg: '我是一条弹幕' },\n                ])\n            })\n            $('#status').click(function () {\n                 $('#status').text(test.getStatus());\n            })\n            $('#clarnAll').click(function () {\n                 test.clarnAll();\n            })\n        }\n    \u003c/script\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n    \u003ccanvas id=\"pg\" width=\"1024\" height=\"768\"\u003e\n\n    \u003c/canvas\u003e\n    \u003cdiv\u003e\n        \u003cbutton id=\"init\"\u003einit\u003c/button\u003e \n        \u003cbutton id=\"load\"\u003eload\u003c/button\u003e\n        \u003cbutton id=\"start\"\u003estart\u003c/button\u003e\n        \u003cbutton id=\"clarnAll\"\u003eclarnAll\u003c/button\u003e\n        \u003cbutton id=\"status\"\u003estatus\u003c/button\u003e\n    \u003c/div\u003e\n\u003c/body\u003e\n\n\u003c/html\u003e\n\u003c/html\u003e\n```\n\n## 版本更新\n- 2.3.5 弹幕文字居中bug修复，最后一条弹幕无法显示bug修复\n- 2.3.3 增加弹幕间距\n- 2.3.2 bug修复：clearAll函数清楚lastFired集合","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbdavid%2Fppbarrage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbdavid%2Fppbarrage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbdavid%2Fppbarrage/lists"}